117 lines
4.4 KiB
Groff
117 lines
4.4 KiB
Groff
.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
|
|
}}}
|