본 문서는 ASE를 사용하기위해서 필요한 정보를 제공한다.
소스코드는 다음과 같은 디렉토리로 구성된다.
ase +- cmn .................... 공통 함수와 매크로를 포함한다. +- utl .................... 보다 일반적인 공통 함수와 매크로를 포함한다. +- awk .................... AWK 처리기 +- lsp .................... LISP 처리기 +- com .................... 각 처리기들의 COM 래퍼모듈 +- test +- awk ............ AWK 처리기 시험 프로그램 +- lsp ............ LISP 처리기 시험 프로그램 +- com ............ COM 래퍼모듈 시험 프로그램
각종 운영체제에서 어떻게 ASE를 빌드하는지 보여준다.
configure스크립트를 실행한후 make프로그램을 실행한다.
$ ./configure $ make
configure스크립트는 해당 시스템의 정보를 수집하여 빌드환경을 설정하고 make는 각각의 서브다이렉트리를 방문해서 바이너리 파일을 만든다. 라이브러리 파일을 release/lib에, 실행파일들읜 release/bin에 만들어 진다.
--enable-debug를 configure에 사용한 경우에는, 빌드환경이 디버깅에 적합하도록 만들어진다. make를 실행하면 결과 파일들은 debug/lib와 debug/bin에 만들어 진다.
$ ./configure --enable-debug $ make
다음의 표는 빌드환경별로 파일이 만들어지는 위치를 보여준다.
--------------------------------------------------------------------------- 모드 실행파일 라이브러리파일 헤더파일 --------------------------------------------------------------------------- release ${top}/release/bin ${top}/release/lib ${top}/release/inc debug ${top)/debug/bin $(top)/debug/lib ${top}/debug/inc --------------------------------------------------------------------------- * ${top} - 최상위 디렉토리
특정한 컴파일러와 컴파일러 옵션을 사용하고 싶을때는 configure를 실행할때 이를 명시해야 한다. 다음의 예들을 보라.
# HP-UX B.11.23 with HP ANSI C CC=cc CFLAGS="-O2 +DD64" LDFLAGS="+DD64" ./configure # 64-bit CC=cc CFLAGS="-O2 +DD32" LDFLAGS="+DD32" ./configure # 32-bit # SCO OpenServer Release 5.0.7 (SCO_SV 3.2 5.0.7) with SCO OpenServer Development System CC=cc CFLAGS="-Xc -a ansi -O2" ./configure # Solaris 10 with GCC CC=gcc CFLAGS="-Wall -O2 -m64" LDFLAGS="-m64" ./configure # 64-bit CC=gcc CFLAGS="-Wall -O2" ./configure # 32-bit
C++컴파일러와 옵션은 CXX와 CXXFLAGS을 사용해서 명시하면 된다.
JNI헤더파일을 찾을수 있으면 configure는 JNI라이브러리와 클래스파일들이 만들어 질수 있도록 빌드환경을 설정한다. 이를 위해서 javac명령어를 PATH환경변수에 설정된 경로에서 찿고, 이 정보를 이용해서 JNI헤더파일을 찾아낸다. 아파치재단의 ant를 이용하여 자바클래스파일들을 만들수도 있다. 이를 위해서 build.xml파일이 최상위 디렉토리에 제공된다.
OpenVMS에서는 mms나 mmk명령어를 사용해야 한다. 다만 configure같은 환경설정 스크립트가 제공되지 않으므로, 필요한 경우 descrip.mms파일을 직접 편집해야 한다.
예를 들어, awk라이브러리와 시험프로그램을 만들려면 필요한 서브디렉토리에서 mms나 mmk를 실행하면 된다.
set default [.ase.cmn] mms set default [-.awk] mms set default [-.utl] mms set default [-.test.awk] mms
OpenVMS에 익숙하지 않은 사용자라면 다음의 방법으로 만들어진 시험프로그램을 실행해볼수 있다.
; define the foreign command. aseawk :== $DISK$GEIN_SYS:[USERS.BACON.ASE.TEST.AWK]aseawk.exe ; run the command. aseawk -f hello.awk
윈도우즈에서는 비쥬얼스튜디오6이나 그 이후 버전이 필요하다. 닷넷관련 프로젝트를 빌드하려면 비쥬얼슈트디오2003이나 그 이후 버전이 필요하다.
빌드에 성공하면 다음과 같은 파일들이 만들어 진다.
lib +- libaseawk.a +- libaselsp.a +- libasecmn.a +- libaseutl.a bin