RedHat AS4 linux(2.6), MySQL(5.0.22)
* 다소 오해를 일으킬 수 있는 시스템 컴파일 옵션(CXX, LDFLAG….etc)등은 제외 하였다.
사용법 : ./configure [OPTION]... [VAR=VALUE]...
특별한 환경변수를 할당하기 위해서 VAR=VALUE 형태로 지정하며, 사용할 변수들을 값을 기술 함으로서 적용시킬 수 있다.
다음의 나올 옵션들의 디폴트 값은 괄호[] 안에 기술되어 있다.
Configuration:
-h, --help 도움말 페이지를 보여주고 종료한다.
--help=short =뒤에 기술한 특별한 내용의d 도움말을 보여준다.
--help=recursive 패키지에 포함된 모든 도움말을 짧게 보여준다.
-V, --version 버전 정보를 보여주고 종료한다.
-q, --quiet, --silent 체크 메시지를 보여주지 않는다.
--cache-file=FILE 지정된 파일의 캐쉬를 테스트한다 [disabled]
-C, --config-cache `--cache-file=config.cache'문을 알리아스 한다.
-n, --no-create output 파일을 생성하지 않는다.
--srcdir=DIR 지정된 디렉토리에서 소스파일을 찾는다.
[configure dir or `..']
Installation directories:
--prefix=PREFIX 지정된 경로에 독립적 아키텍쳐 파일들이 인스톨 된다. [/usr/local]
--exec-prefix=EPREFIX 지정된 위치에 실행 파일이 위치한다. [PREFIX]
디폴트 설정에 의해 ‘make install’ 로 인스톨하면 모든 파일은‘/usr/local/bin’, ‘/usr/local/lib’ 등에 위치하게 되며 특별히 경로를 정
해주면 인스톨 경로는 ‘/usr/local’ 이나 ‘—prefix’로 정해준 경로처럼 다른 위치에 설치되고 인스턴스에 의해
‘—prefix=$HOME’로 지정될 수 있다. 더 낳은 컨트롤을 위해 아래의 옵션을 사용할 수 있다.
좀더 효율적인 디렉토리 설정을 위한 인스톨 옵션:
--bindir=DIR 사용자 실행파일의 위치 [EPREFIX/bin]
--sbindir=DIR 시스템 관리자의 실행파일의 위치 [EPREFIX/sbin]
--libexecdir=DIR 프로그램이 사용하는 파일의 위치EPREFIX/libexec]
--datadir=DIR 읽기 전용의 독립된 구조에서의 데이터 위치[PREFIX/share]
--sysconfdir=DIR 읽기 전용의 single-machine 데이터의 위치[PREFIX/etc]
--sharedstatedir=DIR 독립된 구조에서 변경 가능한 데이터의 위치[PREFIX/com]
--localstatedir=DIR single-machine에서 변경 가능한 데이터의 위치[PREFIX/var]
--libdir=DIR object code의 라이브러리 파일의 위치[EPREFIX/lib]
--includedir=DIR C 헤더 파일의 위치[PREFIX/include]
--oldincludedir=DIR non-gcc 기반의 C 헤데 파일의 위치 [/usr/include]
--infodir=DIR 정보문서의 위치 [PREFIX/info]
--mandir=DIR man 문서의 위치 [PREFIX/man]
Program names:
--program-prefix=PREFIX
임의로 인스톨 되는 프로그램의 이름을 지정할 수 있다.
--program-suffix=SUFFIX
임의로 프로그램 이름 뒤에 접미어를 추가할 수 있다.
--program-transform-name=PROGRAM
sed등의 프로그램을 실행하여 인스톨 되는 프로그램 이름을 지정할 수 있다.
Optional Features:
--disable-FEATURE
FEATURE 옵션을 include 하지 않는다 (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG]
FEATURE 옵션을 포함 시킨다. [ARG=yes]
--disable-dependency-tracking
원타임 빌드로 속도를 향상 시킨다.
--enable-shared[=PKGS]
공유 라이브러리를 빌드한다.[default=yes]
--enable-static[=PKGS]
정적 라이브러리를 빌드한다.[default=yes]
--enable-fast-install[=PKGS]
빠른 인스톨을 위한 최적화를 진행한다.[default=yes]
--disable-libtool-lock
락을 회피한다.(might break parallel builds)
--enable-thread-safe-client
쓰레드를 사용하여 클라언트를 컴파일 한다..
--enable-assembler
어셈블러를 사용한다.
--enable-local-infile
LOAD DATA LOCAL INFILE을 활성화 한다. (default: disabled)
--disable-largefile
large file의 기능을 사용하지 않는다.
Optional Packages:
--with-PACKAGE[=ARG]
PACKAGE를 사용한다. [ARG=yes]
--without-PACKAGE
PACKAGE를 사용하지 않는다. (same as --with-PACKAGE=no)
--with-charset=CHARSET
디폴트 캐릭터셋을 설정한다. 사용할 수 있는 캐릭터 셋은 아래와 같다.
binary
armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257
cp850 cp852 cp866 cp932 dec8 eucjpms euckr
gb2312 gbk geostd8 greek hebrew hp8 keybcs2 koi8r
koi8u latin1 latin2 latin5 latin7 macce macroman
sjis swe7 tis620 ucs2 ujis utf8
--with-collation=COLLATION
디폴트 컬레이션을 설정한다.
--with-extra-charsets=CHARSET,CHARSET,...
디폴트 캐릭터셋을 하나를 지정하는 것이 아니라 추가해 놓고 나중에 변경할 수 있도록 캐릭터 셋을 인스톨 할 수 있도록 한
다. (옵션 = none, complex, all,)
--without-uca
네셔널 유니코드 컬래이션 빌드 과정을 스킵한다.
--with-gnu-ld
C 컴파일러가 GNU ld를 사용한다. [default=no]
--with-other-libc=DIR
libc의 링크와 여러 표준 라이브러리는 non-stanard한 위치에 인스톨 된다. 이 옵션은 원래 존재하는 라이브러리 외에
glibc2.2의 링크를 사용자가 표준 libc를 업그레이드 하지 않고 추가할 수 있다.
--with-server-suffix
서버 버전 값을 변경할 수 있다.
--with-pthread
pthread 라이브러리를 사용할 수 있다.
--with-named-thread-libs=ARG
configure에 의해 자동으로 빌드된 라이브러리 대신에 지정한 thread 라이브러리를 사용할 수 있다.
--with-named-curses-libs=ARG
configure에 의해 자동으로 빌드된 라이브러리 대신에 지정한 curses 라이브러리를 사용할 수 있다
--with-unix-socket-path=SOCKET
unix-domain 소켓의 위치를 지정할 수 있다. 소켓의 파일명은 반드시 절대경로를 포함해야 한다.
--with-tcp-port=port-number
MySQL 서비스를 할 포트를 지정할 수 있다.(default 3306)
--with-mysqld-user=username
MySQL 데몬 쉘을 구동할 유저를 지정할 수 있다.
--with-zlib-dir=DIR
압축 라이브러리의 위치를 사용자가 지정할 수 있다.
--with-libwrap=DIR
Libwrap가 함께 컴파일 된다.
--with-pstack
Pstack backtrace 라이브러리를 사용할 수 있게 한다.
--without-debug
디버킹 코드를 제외하고 빌드한다.
--with-low-memory
메모리를 보다 적게 사용하기 위해 메모리 사용에 제한을 둔다.
--with-comment
환경에 대한 코멘트를 삽입한다.
--without-server
클라이언트만 빌드한다.
--with-embedded-server
임베디드 서버를 빌드한다. (libmysqld).
--without-query-cache
쿼리 캐시를 빌드하지 않는다.
--without-geometry
Geometry와 관련된 부분을 빌드하지 않는다.
--with-embedded-privilege-control
유저의 권한 체크 부분을 빌드한다. 이 부분은 오직 임베디드 라이브러리와 관계된 부분이다.
--without-extra-tools
툴 디렉토리 안에 utilites 항목의 빌드 과정을 생략한다.
--with-mysqlmanager
mysqlmanager 바이너리를 빌드한다. 이는 yes/or로 설정 가능하며 디폴트 값은 서버가 빌드되어 있을 경우에는 빌드된다.
--with-openssl=DIR
OpenSSL을 포함하여 컴파일 한다.
--with-openssl-includes=DIR
OpenSSL의 헤더를 DIR 부분에서 찾을 수 있도록 한다.
--with-openssl-libs=DIR
OpenSSL의 라이브러리를 DIR 부분에서 찾을 수 있도록 한다.
--with-yassl
yaSSL을 포함하여 컴파일 한다.
--without-docs
Documents의 빌드 과정을 생략한다.
--without-man
Man page의 빌드 과정을 생략한다.
--without-bench
Benchmark suite의 빌드 과정을 생략한다.
--without-readline
번들된 카피본을 사용하는 대신 시스템의 readline 라이브러리를 사용한다.
--without-libedit
번들된 카피본을 사용하는 대신 시스템 libedit를 사용한다.
--with-big-tables
32bit 플랫폼에서 4G 이상의 테이블을 사용할 수 있도록 한다.
--with-max-indexes=\#
테이블당 인덱스 번호의 maximum 값을 셋팅한다. 디폴트 값은 64이다.
--with-berkeley-db=DIR
버클리 디비의 위치를 DIR로 지정하여 사용할 수 있다.
--with-berkeley-db-includes=DIR
버클리 디비의 헤더를 DIR에서 검색한다.
--with-berkeley-db-libs=DIR
버클리 디비의 라이브러리를 DIR에서 검색한다.
--without-innodb
InnoDB 테이블 핸들러를 포함하지 않는다.
--with-example-storage-engine
Example 스토리지 엔진을 포함 시킨다..
--with-archive-storage-engine
Archive 스토리지 엔진을 포함 시킨다.
--with-csv-storage-engine
CSV 스토리지 엔진을 포함 시킨다.
--with-blackhole-storage-engine
Blackhole 스토리지 엔진을 포함 시킨다.
--with-ndbcluster
NDB Cluster 테이블 핸들러를 포함 시킨다.
--with-ndb-sci=DIR
Sci 라이브러리의 위치를 설정할 수 있다.
--with-ndb-test
NDB Cluster ndbapi의 테스트 프로그램을 포함 시킨다.
--with-ndb-docs
NDB Cluster ndbapi와 mgmapid의 문서들을 포함 시킨다.
--with-ndb-port
NDB Cluster management server의 포트를 지정한다.
--with-ndb-port-base
NDB Cluster transporters의 기본 포트를 지정한다.
--without-ndb-debug
pecial ndb debug의 내용을 포함 시키지 않는다.
--with-federated-storage-engine
Federated 스토리지 엔진을 포함 시킨다.
======================================================================================================
이 외에도 플랫폼 별로 지정할 수 있는 option들이 존재한다. 가장 많이 사용되는 플랫폼이 리눅스라고 감히 생각 하기에 리눅스
기반의 옵션을 위주로 설명한 것을 이해했으면 한다. 각 플랫폼 별로 더 많은 옵션들을 알고 싶다면, 매뉴얼을 참고하길 권유한다.
또한 잘못된 내용이 있어도 욕하지 말고, 지적해 주셨으면 하는 바람이다