.title ASE 시작하기 = ASE 시작하기 = 본 문서는 ASE를 사용하기위해서 필요한 정보를 제공한다. == 소스코드 디렉토리 == 소스코드는 다음과 같은 디렉토리로 구성된다. {{{ ase +- cmn .................... 공통 함수와 매크로를 포함한다. +- utl .................... 보다 일반적인 공통 함수와 매크로를 포함한다. +- awk .................... AWK 처리기 +- lsp .................... LISP 처리기 +- com .................... 각 처리기들의 COM 래퍼모듈 +- test +- awk ............ AWK 처리기 시험 프로그램 +- lsp ............ LISP 처리기 시험 프로그램 +- com ............ COM 래퍼모듈 시험 프로그램 }}} == 빌드 == 각종 운영체제에서 어떻게 ASE를 빌드하는지 보여준다. === Unix/Linux === [[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,http://ant.apache.org}를 이용하여 자바클래스파일들을 만들수도 있다. 이를 위해서 [[build.xml]]파일이 최상위 디렉토리에 제공된다. === OpenVMS === 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 }}} === MS-Windows === 윈도우즈에서는 비쥬얼스튜디오6이나 그 이후 버전이 필요하다. 닷넷관련 프로젝트를 빌드하려면 비쥬얼슈트디오2003이나 그 이후 버전이 필요하다. == 바이너리파일 == 빌드에 성공하면 다음과 같은 파일들이 만들어 진다. {{{ lib +- libaseawk.a +- libaselsp.a +- libasecmn.a +- libaseutl.a bin }}}