diff options
Diffstat (limited to 'configure.in')
| -rw-r--r-- | configure.in | 1120 |
1 files changed, 0 insertions, 1120 deletions
diff --git a/configure.in b/configure.in deleted file mode 100644 index d7c6c290d5..0000000000 --- a/configure.in +++ /dev/null @@ -1,1120 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(ruby.h) - -AC_PREREQ(2.50) - -rb_version=`grep RUBY_VERSION $srcdir/version.h` -MAJOR=`expr "$rb_version" : '#define RUBY_VERSION "\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*"'` -MINOR=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*"'` -TEENY=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)"'` -AC_SUBST(MAJOR) -AC_SUBST(MINOR) -AC_SUBST(TEENY) -dnl checks for alternative programs -AC_ARG_WITH(gcc, [--without-gcc never use gcc], [ - case $withval in - no) : ${CC=cc} - ;; - yes) : ${CC=gcc} - ;; - *) CC=$withval - ;; - esac]) -dnl If the user switches compilers, we can't believe the cache -if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC" -then - AC_ERROR(cached CC is different -- throw away $cache_file -(it is also a good idea to do 'make clean' before compiling)) -fi - -AC_DEFUN(RUBY_CANONICAL_BUILD, [AC_REQUIRE([AC_CANONICAL_BUILD])]) - -AC_CANONICAL_HOST -AC_CANONICAL_TARGET -RUBY_CANONICAL_BUILD - -dnl checks for fat-binary -fat_binary=no -AC_ARG_ENABLE(fat-binary, - [--enable-fat-binary build a NeXT/Apple Multi Architecture Binary. ], - [fat_binary=$enableval]) - if test "$fat_binary" = yes ; then - - AC_MSG_CHECKING(target architecture) - - case "$target_os" in - rhapsody*) - echo -n "MacOS X Server: " - if test "$TARGET_ARCHS" = "" ; then - TARGET_ARCHS="ppc i386" - fi - ;; - nextstep*|openstep*) - echo -n "NeXTSTEP/OPENSTEP: " - if test "$TARGET_ARCHS" = "" ; then - if test `/usr/bin/arch` = "m68k" ; then - TARGET_ARCHS="m68k i486" - else # Black and Native one - TARGET_ARCHS="m68k `/usr/bin/arch`" - fi - fi - # to ensure AC_HEADER_SYS_WAIT works - AC_DEFINE(_POSIX_SOURCE) - ;; - macos*|darwin*) - echo -n "MacOS X (Darwin): " - if test "$TARGET_ARCHS" = "" ; then - TARGET_ARCHS="ppc i386" - fi - ;; - esac - # /usr/lib/arch_tool -archify_list $TARGET_ARCHS - for archs in $TARGET_ARCHS - do - ARCH_FLAG="$ARCH_FLAG -arch $archs " - echo -n " $archs" - done - AC_DEFINE(NEXT_FAT_BINARY) - echo "." -fi - -case $target_cpu in - i?86) frame_address=yes;; - *) frame_address=no;; -esac -AC_ARG_ENABLE(frame-address, - [--enable-frame-address use GCC __builtin_frame_address(). ], - [frame_address=$enableval]) -if test $frame_address = yes; then - AC_DEFINE(USE_BUILTIN_FRAME_ADDRESS) -fi - -AC_ARG_PROGRAM - -dnl Checks for programs. - -if test x"${build}" != x"${host}"; then - AC_CHECK_TOOL(CC, gcc) -fi -AC_PROG_CC -AC_PROG_GCC_TRADITIONAL - -AC_PROG_YACC -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(AR, ar) -AC_CHECK_PROGS(AR, ar aal, ar) - -case "$target_os" in -cygwin*|mingw*) - AC_CHECK_TOOL(NM, nm) - AC_CHECK_TOOL(DLLWRAP, dllwrap) - AC_CHECK_TOOL(AS, as) - AC_CHECK_TOOL(DLLTOOL, dlltool) - AC_CHECK_TOOL(WINDRES, windres) - target_cpu=`echo $target_cpu | sed s/i.86/i386/` - : ${enable_shared=yes} - ;; -esac - -AC_PROG_LN_S -AC_PROG_MAKE_SET - -# checks for UNIX variants that set C preprocessor variables -AC_AIX -AC_MINIX - -AC_EXEEXT -AC_OBJEXT - -dnl check for large file stuff -AC_SYS_LARGEFILE - -AC_CHECK_TYPES([long long, off_t]) -AC_CHECK_SIZEOF(int, 4) -AC_CHECK_SIZEOF(short, 2) -AC_CHECK_SIZEOF(long, 4) -AC_CHECK_SIZEOF(long long, 0) -AC_CHECK_SIZEOF(__int64, 0) -AC_CHECK_SIZEOF(off_t, 0) -AC_CHECK_SIZEOF(void*, 4) -AC_CHECK_SIZEOF(float, 4) -AC_CHECK_SIZEOF(double, 8) - -AC_CACHE_CHECK(for prototypes, rb_cv_have_prototypes, - [AC_TRY_COMPILE([int foo(int x) { return 0; }], [return foo(10);], - rb_cv_have_prototypes=yes, - rb_cv_have_prototypes=no)]) -if test "$rb_cv_have_prototypes" = yes; then - AC_DEFINE(HAVE_PROTOTYPES) -fi - -AC_CACHE_CHECK(token paste string, rb_cv_tokenpaste, - [AC_TRY_COMPILE([#define paste(a,b) a##b], - [int xy = 1; return paste(x,y);], - rb_cv_tokenpaste=ansi, - rb_cv_tokenpaste=knr)]) -if test "$rb_cv_tokenpaste" = ansi; then - AC_DEFINE(TOKEN_PASTE(x,y),[x##y]) -else - AC_DEFINE(TOKEN_PASTE(x,y),[x/**/y]) -fi - -AC_CACHE_CHECK(for variable length prototypes and stdarg.h, rb_cv_stdarg, - [AC_TRY_COMPILE([ -#include <stdarg.h> -int foo(int x, ...) { - va_list va; - va_start(va, x); - va_arg(va, int); - va_arg(va, char *); - va_arg(va, double); - return 0; -} -], [return foo(10, "", 3.14);], - rb_cv_stdarg=yes, - rb_cv_stdarg=no)]) -if test "$rb_cv_stdarg" = yes; then - AC_DEFINE(HAVE_STDARG_PROTOTYPES) -fi - -AC_CACHE_CHECK([for noreturn], rb_cv_noreturn, -[rb_cv_noreturn=no -for mac in "x __attribute__ ((noreturn))" "__declspec(noreturn) x" x; do - AC_TRY_COMPILE( - [#define NORETURN(x) $mac -NORETURN(void exit(int x));], - [], - [rb_cv_noreturn="$mac"; break]) -done]) -AC_DEFINE_UNQUOTED([NORETURN(x)], $rb_cv_noreturn) - - -dnl wheather link libc_r or not -AC_ARG_WITH(libc_r, - [--with-libc_r link libc_r if possible (FreeBSD only)], [ - case $withval in - yes) with_libc_r=yes;; - *) with_libc_r=no;; - esac], [with_libc_r=no]) - -dnl Checks for libraries. -case "$target_os" in -nextstep*) ;; -openstep*) ;; -rhapsody*) ;; -darwin*) LIBS="-lobjc $LIBS";; -human*) ac_cv_func_getpgrp_void=yes;; -beos*) ;; -cygwin*) rb_cv_have_daylight=no - ac_cv_var_tzname=no;; -mingw*) LIBS="-lwsock32 -lmsvcrt $LIBS" - ac_cv_header_a_out_h=no - ac_cv_header_pwd_h=no - ac_cv_header_utime_h=no - ac_cv_header_sys_ioctl_h=no - ac_cv_header_sys_param_h=no - ac_cv_header_sys_resource_h=no - ac_cv_header_sys_select_h=no - ac_cv_header_sys_times_h=no - ac_cv_func_times=yes - ac_cv_func_waitpid=yes;; -os2_emx*) LIBS="-lm $LIBS" - ac_cv_lib_dir_opendir=no;; -msdosdjgpp*) LIBS="-lm $LIBS" - ac_cv_func_getpgrp_void=yes;; -freebsd*) LIBS="-lm $LIBS" - AC_CACHE_CHECK([whether -lxpg4 has to be linked], - rb_cv_lib_xpg4_needed, - [AC_TRY_CPP([ -#include <osreldate.h> -#if __FreeBSD_version < 400020 || \ - (__FreeBSD_version >= 500000 && __FreeBSD_version < 500005) -#error needs libxpg4 -#endif - ], - rb_cv_lib_xpg4_needed=no, - rb_cv_lib_xpg4_needed=yes, - rb_cv_lib_xpg4_needed=yes)]) - if test "$rb_cv_lib_xpg4_needed" = yes; then - AC_CHECK_LIB(xpg4, setlocale) - fi - if test "$with_libc_r" = yes; then - AC_CACHE_CHECK([whether libc_r is supplementary to libc], - rb_cv_supplementary_lib_c_r, - [AC_TRY_CPP([ -#include <osreldate.h> -#if 500016 <= __FreeBSD_version -#error libc_r is supplementary to libc -#endif - ], - rb_cv_supplementary_lib_c_r=no, - rb_cv_supplementary_lib_c_r=yes, - rb_cv_supplementary_lib_c_r=yes)]) - if test "$rb_cv_supplementary_lib_c_r" = yes; then - MAINLIBS="-lc_r $MAINLIBS" - else - MAINLIBS="-pthread $MAINLIBS" - CFLAGS="-D_THREAD_SAFE $CFLAGS" - fi - fi - ;; -linux*) LIBS="-lm $LIBS" - case "$target_cpu" in - alpha*) - CFLAGS="-mieee $CFLAGS" ;; - esac ;; -osf*) LIBS="-lm $LIBS" - case "$target_cpu"::"$GCC" in - alpha*::yes) - CFLAGS="-mieee $CFLAGS" ;; - alpha*::no|alpha*::) - CFLAGS="-ieee $CFLAGS" ;; - esac ;; -*) LIBS="-lm $LIBS";; -esac -AC_CHECK_LIB(crypt, crypt) -AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV -AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX - -dnl Checks for header files. -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h\ - fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\ - syscall.h pwd.h a.out.h utime.h memory.h direct.h sys/resource.h \ - sys/mkdev.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_TYPE_UID_T -AC_TYPE_SIZE_T -AC_STRUCT_ST_BLKSIZE -AC_STRUCT_ST_BLOCKS -AC_STRUCT_ST_RDEV - -dnl Checks for library functions. -AC_TYPE_GETGROUPS -AC_TYPE_SIGNAL -AC_FUNC_ALLOCA -AC_FUNC_MEMCMP -AC_FUNC_FSEEKO -AC_CHECK_FUNCS(ftello) -AC_REPLACE_FUNCS(dup2 memmove mkdir strcasecmp strncasecmp strerror strftime\ - strchr strstr strtoul crypt flock vsnprintf\ - isinf isnan finite hypot) -AC_CHECK_FUNCS(fmod killpg drand48 random wait4 waitpid syscall chroot fsync\ - truncate chsize times utimes fcntl lockf lstat symlink readlink\ - setitimer setruid seteuid setreuid setresuid setproctitle\ - setrgid setegid setregid setresgid pause lchown lchmod\ - getpgrp setpgrp getpgid setpgid getgroups getpriority getrlimit\ - dlopen sigprocmask sigaction _setjmp setsid telldir seekdir fchmod\ - mktime timegm) -AC_STRUCT_TIMEZONE -AC_CACHE_CHECK(for struct tm.tm_gmtoff, rb_cv_member_struct_tm_tm_gmtoff, - [AC_TRY_COMPILE([#include <time.h>], - [struct tm t; t.tm_gmtoff = 3600;], - [rb_cv_member_struct_tm_tm_gmtoff=yes], - [rb_cv_member_struct_tm_tm_gmtoff=no])]) -if test "$rb_cv_member_struct_tm_tm_gmtoff" = yes; then - AC_DEFINE(HAVE_STRUCT_TM_TM_GMTOFF) -fi -AC_CACHE_CHECK(for external int daylight, rb_cv_have_daylight, - [AC_TRY_LINK([#include <time.h> - int i;], - [i = daylight;], - rb_cv_have_daylight=yes, - rb_cv_have_daylight=no)]) -if test "$rb_cv_have_daylight" = yes; then - AC_DEFINE(HAVE_DAYLIGHT) -fi -AC_CACHE_CHECK(for negative time_t for gmtime(3), rb_cv_negative_time_t, - [AC_TRY_RUN([ -#include <time.h> - -void -check(tm, y, m, d, h, s) - struct tm *tm; - int y, m, d, h, s; -{ - if (!tm || - tm->tm_year != y || - tm->tm_mon != m-1 || - tm->tm_mday != d || - tm->tm_hour != h || - tm->tm_sec != s) { - exit(1); - } -} - -int -main() -{ - time_t t = -1; - struct tm *tm; - - check(gmtime(&t), 69, 12, 31, 23, 59); - t = ~(time_t)0 << 31; - check(gmtime(&t), 1, 12, 13, 20, 52); - return 0; -} -], - rb_cv_negative_time_t=yes, - rb_cv_negative_time_t=no, - rb_cv_negative_time_t=yes)]) -if test "$rb_cv_negative_time_t" = yes; then - AC_DEFINE(NEGATIVE_TIME_T) -fi - -if test "$ac_cv_func_sigprocmask" = yes && test "$ac_cv_func_sigaction" = yes; then - AC_DEFINE(POSIX_SIGNAL) -else - AC_CACHE_CHECK(for BSD signal semantics, rb_cv_bsd_signal, - [AC_TRY_RUN([ -#include <stdio.h> -#include <signal.h> - -void -sig_handler(dummy) - int dummy; -{ -} - -int -main() -{ - signal(SIGINT, sig_handler); - kill(getpid(), SIGINT); - kill(getpid(), SIGINT); - return 0; -} -], - rb_cv_bsd_signal=yes, - rb_cv_bsd_signal=no, - rb_cv_bsd_signal=no)]) - if test "$rb_cv_bsd_signal" = yes; then - AC_DEFINE(BSD_SIGNAL) - fi -fi - -AC_FUNC_GETPGRP -AC_FUNC_SETPGRP - -AC_CACHE_CHECK(for working strtod, rb_cv_func_strtod, -[AC_TRY_RUN([ -double strtod (); -int -main() -{ - { - /* Some versions of Linux strtod mis-parse strings with leading '+'. */ - char *string = " +69"; - char *term; - double value; - value = strtod(string, &term); - if (value != 69 || term != (string + 4)) - exit(1); - } - - { - /* Under Solaris 2.4, strtod returns the wrong value for the - terminating character under some conditions. */ - char *string = "NaN"; - char *term; - strtod(string, &term); - if (term != string && *(term - 1) == 0) - exit(1); - } - exit(0); -} -], rb_cv_func_strtod=yes, rb_cv_func_strtod=no, rb_cv_func_strtod=no)]) -test $rb_cv_func_strtod = no && AC_LIBOBJ([strtod]) - -AC_C_BIGENDIAN -AC_C_CONST -AC_C_CHAR_UNSIGNED -AC_C_INLINE - -AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign, - [AC_TRY_RUN([ -int -main() -{ - if (-1==(-1>>1)) - return 0; - return 1; -} -], - rb_cv_rshift_sign=yes, - rb_cv_rshift_sign=no, - rb_cv_rshift_sign=yes)]) -if test "$rb_cv_rshift_sign" = yes; then - AC_DEFINE(RSHIFT(x,y), ((x)>>(int)y)) -else - AC_DEFINE(RSHIFT(x,y), (((x)<0) ? ~((~(x))>>y) : (x)>>y)) -fi - -AC_MSG_CHECKING(count field in FILE structures) -AC_CACHE_VAL(rb_cv_fcnt, -[AC_TRY_COMPILE([#include <stdio.h>], - [FILE *f = stdin; f->_cnt = 0;], rb_cv_fcnt="_cnt", ) -if test "$rb_cv_fcnt" = ""; then - AC_TRY_COMPILE([#include <stdio.h>], - [FILE *f = stdin; f->__cnt = 0;], rb_cv_fcnt="__cnt", ) -fi -if test "$rb_cv_fcnt" = ""; then - AC_TRY_COMPILE([#include <stdio.h>], - [FILE *f = stdin; f->_r = 0;], rb_cv_fcnt="_r", ) -fi -if test "$rb_cv_fcnt" = ""; then - AC_TRY_COMPILE([#include <stdio.h>], - [FILE *f = stdin; f->readCount = 0;], - rb_cv_fcnt="readCount", ) -fi -dnl for emx0.9c -if test "$rb_cv_fcnt" = ""; then - AC_TRY_COMPILE([#include <stdio.h>], - [FILE *f = stdin; f->_rcount = 0;], - rb_cv_fcnt="_rcount", rb_cv_fcnt="not found") -fi]) -if test "$rb_cv_fcnt" = "not found"; then - AC_MSG_RESULT([not found(OK if using GNU libc)]) -else - AC_MSG_RESULT($rb_cv_fcnt) - AC_DEFINE_UNQUOTED(FILE_COUNT, $rb_cv_fcnt) -fi - -dnl default value for $KANJI -DEFAULT_KCODE="KCODE_NONE" - -AC_ARG_WITH(default-kcode, - [--with-default-kcode=CODE specify default value for \$KCODE (utf8|euc|sjis|none)], - [case $withval in - utf8) DEFAULT_KCODE="KCODE_UTF8";; - euc) DEFAULT_KCODE="KCODE_EUC";; - sjis) DEFAULT_KCODE="KCODE_SJIS";; - none) DEFAULT_KCODE="KCODE_NONE";; - *) AC_MSG_WARN($withval is not valid kcode; ignored);; - esac]) -AC_DEFINE_UNQUOTED(DEFAULT_KCODE, $DEFAULT_KCODE) - -dnl wheather use dln_a_out or not -AC_ARG_WITH(dln-a-out, - [--with-dln-a-out use dln_a_out if possible], [ - case $withval in - yes) with_dln_a_out=yes;; - *) with_dln_a_out=no;; - esac], [with_dln_a_out=no]) - -AC_SUBST(XLDFLAGS)dnl - -AC_CACHE_CHECK(whether ELF binaries are produced, rb_cv_binary_elf, -[AC_TRY_RUN([ -/* Test for whether ELF binaries are produced */ -#include <fcntl.h> -#include <stdlib.h> -main() { - char buffer[4]; - int i=open("conftest",O_RDONLY); - if(i==-1) - exit(1); /* fail */ - if(read(i,&buffer[0],4)<4) - exit(1); /* fail */ - if(buffer[0] != 127 || buffer[1] != 'E' || - buffer[2] != 'L' || buffer[3] != 'F') - exit(1); /* fail */ - exit(0); /* succeed (yes, it's ELF) */ -} -], -rb_cv_binary_elf=yes, -rb_cv_binary_elf=no, -rb_cv_binary_elf=yes)]) - -if test "$rb_cv_binary_elf" = yes; then - AC_DEFINE(USE_ELF) -fi - -case "$target_os" in - linux*) - if test "$rb_cv_binary_elf" = no; then - with_dln_a_out=yes - target_os=${target_os}-a_out - else - LDFLAGS="-rdynamic" - fi;; -netbsd*) - if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]] - then - netbsd_elf=yes - else - netbsd_elf=no - fi - ;; -esac - -AC_SUBST(DLDFLAGS)dnl - -AC_SUBST(STATIC)dnl -AC_SUBST(CCDLFLAGS)dnl -AC_SUBST(LDSHARED)dnl -AC_SUBST(DLEXT)dnl -AC_SUBST(DLEXT2)dnl - -STATIC= - -if test "$with_dln_a_out" != yes; then - rb_cv_dlopen=unknown - AC_MSG_CHECKING(whether OS depend dynamic link works) - if test "$GCC" = yes; then - case "$target_os" in - nextstep*) ;; - openstep*) ;; - rhapsody*) ;; - darwin*) CCDLFLAGS=-fno-common;; - human*) ;; - bsdi*) ;; - beos*) ;; - cygwin*) ;; - mingw*) ;; - netbsd*) CCDLFLAGS=-fPIC;; - *) CCDLFLAGS=-fPIC;; - esac - else - case "$target_os" in - hpux*) CCDLFLAGS='+z';; - solaris*|irix*) CCDLFLAGS='-KPIC' ;; - sunos*) CCDLFLAGS='-PIC' ;; - esix*|uxpds*) CCDLFLAGS='-KPIC' ;; - *) CCDLFLAGS='' ;; - esac - fi - - case "$target_os" in - hpux*) DLDFLAGS="-E" - LDSHARED='ld -b' - LDFLAGS="-Wl,-E" - rb_cv_dlopen=yes;; - solaris*) if test "$GCC" = yes; then - LDSHARED='$(CC) -Wl,-G' - if `$CC --print-prog-name=ld` -v 2>&1 | grep "GNU ld" > /dev/null; then - LDFLAGS="-Wl,-E" - LDSHARED="$LDSHARED -shared" - fi - else - LDSHARED='ld -G' - fi - rb_cv_dlopen=yes;; - sunos*) LDSHARED='ld -assert nodefinitions' - rb_cv_dlopen=yes;; - irix*) LDSHARED='ld -shared' - rb_cv_dlopen=yes;; - sysv4*) LDSHARED='ld -G' - rb_cv_dlopen=yes;; - nto-qnx*) LDSHARED="qcc -shared" - rb_cv_dlopen=yes ;; - esix*|uxpds*) LDSHARED="ld -G" - rb_cv_dlopen=yes ;; - osf*) LDSHARED="$CC -shared" - rb_cv_dlopen=yes ;; - linux*) LDSHARED="$CC -shared" - rb_cv_dlopen=yes ;; - gnu*) LDSHARED="$CC -shared" - rb_cv_dlopen=yes - LDFLAGS="-rdynamic" ;; - freebsd*) LDSHARED="$CC -shared" - if test "$rb_cv_binary_elf" = yes; then - LDFLAGS="-rdynamic" - DLDFLAGS='-Wl,-soname,$(.TARGET)' - else - test "$GCC" = yes && `$CC --print-prog-name=ld` -v 2>&1 | grep "GNU ld" > /dev/null || LDSHARED="ld -Bshareable" - fi - rb_cv_dlopen=yes ;; - netbsd*) LDSHARED='${CC} -shared' - if test "$rb_cv_binary_elf" = yes; then - LDFLAGS="-Wl,-export-dynamic" - fi - rb_cv_dlopen=yes ;; - openbsd*) LDSHARED="ld -Bforcearchive -Bshareable" - rb_cv_dlopen=yes ;; - bsdi3*) case "$CC" in - *shlicc*) LDSHARED="$CC -r" - rb_cv_dlopen=yes ;; - esac ;; - bsdi*) LDSHARED="ld -shared" - LDFLAGS='-rdynamic -Wl,-rpath,$(prefix)/lib/ruby/$(MAJOR).$(MINOR)/i386-bsdi4.0' - rb_cv_dlopen=yes ;; - nextstep*) LDSHARED='cc -r -nostdlib' - LDFLAGS="-u libsys_s" - DLDFLAGS="$ARCH_FLAG" - rb_cv_dlopen=yes ;; - openstep*) LDSHARED='cc -dynamic -bundle -undefined suppress' - LDFLAGS="" - DLDFLAGS="$ARCH_FLAG" - rb_cv_dlopen=yes ;; - rhapsody*) LDSHARED='cc -dynamic -bundle -undefined suppress' - LDFLAGS="" - DLDFLAGS="$ARCH_FLAG" - rb_cv_dlopen=yes ;; - darwin*) LDSHARED='cc -dynamic -bundle -undefined suppress -flat_namespace' - LDFLAGS="" - DLDFLAGS="$ARCH_FLAG" - rb_cv_dlopen=yes ;; - aix*) LDSHARED='/usr/ccs/bin/ld' - XLDFLAGS='-Wl,-bE:ruby.imp' - DLDFLAGS='-brtl -eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 -lc' - LDFLAGS="-brtl" - rb_cv_dlopen=yes ;; - - human*) DLDFLAGS='' - LDSHARED='' - LDFLAGS='' - rb_cv_dlopen=yes ;; - beos*) case "$target_cpu" in - powerpc*) - LDSHARED="ld -xms" - DLDFLAGS='-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o' - ;; - i586*) - LDSHARED="ld -shared" - DLDFLAGS="-L/boot/develop/lib/x86 -lbe -lroot" - ;; - esac - rb_cv_dlopen=yes ;; - nto-qnx*) DLDFLAGS="-L/lib -L/usr/lib -L/usr/local/lib" - LDSHARED='ld -Bshareable -x' - LDFLAGS="-L/lib -L/usr/lib -L/usr/local/lib" - rb_cv_dlopen=yes;; - cygwin*|mingw*) : ${LDSHARED="${DLLWRAP} --target=${target_os} --as=${AS} --dlltool-name=${DLLTOOL} --driver-name=${CC} --export-all -s"} - rb_cv_dlopen=yes ;; - *) LDSHARED='ld' ;; - esac - AC_MSG_RESULT($rb_cv_dlopen) -fi - -dln_a_out_works=no -if test "$ac_cv_header_a_out_h" = yes; then - if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then - cat confdefs.h > config.h - AC_CACHE_CHECK(whether matz's dln works, rb_cv_dln_a_out, - [AC_TRY_COMPILE([ -#define USE_DLN_A_OUT -#include "dln.c" -], - [], - rb_cv_dln_a_out=yes, - rb_cv_dln_a_out=no)]) - if test "$rb_cv_dln_a_out" = yes; then - dln_a_out_works=yes - AC_DEFINE(USE_DLN_A_OUT) - fi - fi -fi - -if test "$dln_a_out_works" = yes; then - if test "$GCC" = yes; then - STATIC=-static - else - STATIC=-Bstatic - fi - DLEXT=so - AC_DEFINE(DLEXT, ".so") - CCDLFLAGS= -else - case "$target_os" in - hpux*) DLEXT=sl - AC_DEFINE(DLEXT, ".sl");; - nextstep*) DLEXT=bundle - AC_DEFINE(DLEXT, ".bundle");; - openstep*) DLEXT=bundle - AC_DEFINE(DLEXT, ".bundle");; - rhapsody*) DLEXT=bundle - AC_DEFINE(DLEXT, ".bundle");; - darwin*) DLEXT=bundle - AC_DEFINE(DLEXT, ".bundle");; - os2_emx*) DLEXT=dll - AC_DEFINE(DLEXT, ".dll");; - cygwin*|mingw*) DLEXT=so - AC_DEFINE(DLEXT, ".so") - DLEXT2=dll - AC_DEFINE(DLEXT2, ".dll");; - *) DLEXT=so - AC_DEFINE(DLEXT, ".so");; - esac -fi - -AC_SUBST(STRIP)dnl -if test "$with_dln_a_out" = yes; then - STRIP=true -else - STRIP=strip -fi - -case "$target_os" in - linux*) - STRIP='strip -S -x';; - gnu*) - STRIP='strip -S -x';; - nextstep*) - STRIP='strip -A -n';; - openstep*) - STRIP='strip -A -n';; - rhapsody*) - STRIP='strip -A -n';; - darwin*) - STRIP='strip -A -n';; -esac - -EXTSTATIC= -AC_SUBST(EXTSTATIC)dnl -AC_ARG_WITH(static-linked-ext, - [--with-static-linked-ext link external modules statically], - [case $withval in - yes) STATIC= - EXTSTATIC=static;; - *) ;; - esac]) - -case "$target_os" in - human*) - AC_CHECK_LIB(signal, _harderr) - AC_CHECK_LIB(hmem, hmemset) - AC_CHECK_FUNCS(select gettimeofday) - AC_CACHE_CHECK(whether PD libc _dtos18 fail to convert big number, - rb_cv_missing__dtos18, - [AC_TRY_RUN( -changequote(<<, >>)dnl -<< -#include <stdio.h> -main () -{ - char buf[256]; - sprintf (buf, "%g", 1e+300); - exit (strcmp (buf, "1e+300") ? 0 : 1); -} ->>, -changequote([, ])dnl -rb_cv_missing__dtos18=yes, rb_cv_missing__dtos18=no, rb_cv_missing__dtos18=no)]) - if test "$rb_cv_missing__dtos18" = yes; then - AC_DEFINE(MISSING__DTOS18) - fi - AC_CACHE_CHECK(whether PD libc fconvert fail to round, - rb_cv_missing_fconvert, - [AC_TRY_RUN( -changequote(<<, >>)dnl -<< -#include <stdio.h> -#include <math.h> -main () -{ - char buf[256]; - sprintf (buf, "%f", log(exp(1.0))); - exit (strcmp (buf, "1.000000") ? 0 : 1); -} ->>, -changequote([, ])dnl -rb_cv_missing_fconvert=yes, rb_cv_missing_fconvert=no, rb_cv_missing_fconvert=no)]) - if test "$rb_cv_missing_fconvert" = yes; then - AC_DEFINE(MISSING_FCONVERT) - fi - AC_LIBOBJ([x68.o]) - CFLAGS="$CFLAGS -fansi-only -cc1-stack=262144 -cpp-stack=2694144" - EXEEXT=.x - OBJEXT=o - setup=Setup.x68 - ;; - dnl OS/2 environment w/ Autoconf 2.1x for EMX - os2_emx) - AC_LIBOBJ([os2]) - setup=Setup.emx - ;; - *djgpp*) - setup=Setup.dj - ;; - *) - setup=Setup - ;; -esac - -AC_SUBST(setup) - -if test "$prefix" = NONE; then - prefix=$ac_default_prefix -fi - -if test "$fat_binary" = yes ; then - CFLAGS="$CFLAGS $ARCH_FLAG" -fi - -if test x"$cross_compiling" = xyes; then - MINIRUBY="ruby -I`pwd` -rfake" - PREP=fake.rb -else - MINIRUBY='./miniruby$(EXEEXT)' - PREP='' -fi -AC_SUBST(MINIRUBY) -AC_SUBST(PREP) - -FIRSTMAKEFILE="" -LIBRUBY_A='lib$(RUBY_INSTALL_NAME).a' -LIBRUBY='$(LIBRUBY_A)' -LIBRUBYARG='$(LIBRUBY_A)' -SOLIBS= - -case "$target_os" in - cygwin*|mingw*|beos*|openstep*|nextstep*|rhapsody*|darwin*|os2_emx*) - DLDLIBS="" - ;; - *) - DLDLIBS="-lc" - ;; -esac - -LIBRUBY_LDSHARED=$LDSHARED -LIBRUBY_DLDFLAGS=$DLDFLAGS -LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR).$(TEENY)' -LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so' -ENABLE_SHARED=no - -AC_ARG_ENABLE(shared, - [--enable-shared build a shared library for Ruby. ], - [enable_shared=$enableval]) -if test "$enable_shared" = 'yes'; then - LIBRUBY='$(LIBRUBY_SO)' - LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)' - CFLAGS="$CFLAGS $CCDLFLAGS" - ENABLE_SHARED=yes - if test "$rb_cv_binary_elf" = yes; then - SOLIBS='$(LIBS)' - fi - case "$target_os" in - sunos4*) - LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so' - ;; - linux*) - LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR)' - LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so' - ;; - gnu*) - LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR)' - LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so' - ;; - freebsd*) - SOLIBS='$(LIBS)' - LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR)' - if test "$rb_cv_binary_elf" != "yes" ; then - LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)" - LIBRUBY_ALIASES='' - fi - ;; - netbsd*) - SOLIBS='$(LIBS)' - LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR).$(TEENY)' - LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR)' - LIBRUBYARG='-Wl,-R -Wl,${prefix}/lib -L${prefix}/lib -L. -l$(RUBY_INSTALL_NAME)' - if test "$rb_cv_binary_elf" = yes; then # ELF platforms - LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_INSTALL_NAME).so' - else # a.out platforms - LIBRUBY_ALIASES="" - fi - ;; - openbsd*) - SOLIBS='$(LIBS)' - ;; - solaris*) - XLDFLAGS='-R${prefix}/lib' - ;; - hpux*) - XLDFLAGS='-Wl,+s,+b,$(prefix)/lib' - LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR).$(TEENY)' - LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).sl' - ;; - aix*) - if test "$GCC" = yes; then - LIBRUBY_LDSHARED='$(CC) -shared' - LIBRUBY_DLDFLAGS='-Wl,-bE:ruby.imp' - else - LIBRUBY_LDSHARED='/usr/ccs/bin/ld' - LIBRUBY_DLDFLAGS='-bE:ruby.imp -bM:SRE -bnoentry' - fi - LIBRUBYARG='-L${prefix}/lib -Wl,lib$(RUBY_INSTALL_NAME).so' - SOLIBS='-lm -lc' - ;; - beos*) - case "$target_cpu" in - powerpc*) - LIBRUBY_DLDFLAGS='-f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o' - ;; - esac - ;; - darwin*) - LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).$(MAJOR).$(MINOR).$(TEENY).dylib' - LIBRUBY_LDSHARED='cc -dynamiclib -undefined suppress -flat_namespace' - LIBRUBY_DLDFLAGS='-install_name lib$(RUBY_INSTALL_NAME).dylib -current_version $(MAJOR).$(MINOR).$(TEENY) -compatibility_version $(MAJOR).$(MINOR)' - LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).$(MAJOR).$(MINOR).dylib lib$(RUBY_INSTALL_NAME).dylib' - ;; - *) - ;; - esac -fi - -case "$target_os" in - netbsd*) - CFLAGS="$CFLAGS -pipe" - ;; - nextstep*) - CFLAGS="$CFLAGS -pipe" - ;; - openstep*) - CFLAGS="$CFLAGS -pipe" - ;; - rhapsody*) - CFLAGS="$CFLAGS -pipe -no-precomp" - ;; - darwin*) - CFLAGS="$CFLAGS -pipe -no-precomp" - ;; - os2_emx) - CFLAGS="$CFLAGS -DOS2" - ;; - osf*) - if test "$GCC" != "yes" ; then - # compile something small: taint.c is fine for this. - # the main point is the '-v' flag of 'cc'. - case "`cc -v -I. -c main.c -o /tmp/main.o 2>&1`" in - */gemc_cc*) # we have the new DEC GEM CC - CFLAGS="$CFLAGS -oldc" - ;; - *) # we have the old MIPS CC - ;; - esac - # cleanup - rm -f /tmp/main.o - CFLAGS="$CFLAGS -std" - fi - ;; - beos*) - case "$target_cpu" in - powerpc*) - CFLAGS="$CFLAGS -relax_pointers" - ;; - esac - ;; - cygwin*|mingw*) - RUBY_SO_NAME=$target_os-'$(RUBY_INSTALL_NAME)'${MAJOR}${MINOR} - if test x"$enable_shared" = xyes; then - LIBRUBY_SO='$(RUBY_SO_NAME)'.dll - LIBRUBY_DLDFLAGS='--dllname=$@ --output-lib=$(LIBRUBY) --add-stdcall-alias --def=$(RUBYDEF)' - else - LIBRUBY_SO=dummy - LIBRUBY_DLDFLAGS='--output-exp=$(RUBY_INSTALL_NAME).exp --dllname=$(RUBY_INSTALL_NAME)$(EXEEXT) --output-lib=$(LIBRUBY) --add-stdcall-alias --def=$(RUBYDEF)' - fi - LIBRUBY_ALIASES='' - LIBRUBY_A='lib$(RUBY_INSTALL_NAME)s.a' - LIBRUBY='lib$(RUBY_SO_NAME).a' - LIBRUBYARG='-L. -l$(RUBY_SO_NAME)' - FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in - SOLIBS='$(LIBS)' - case "$target_os" in - cygwin*) - AC_LIBOBJ([strftime]) - CCDLFLAGS=-DUSEIMPORTLIB ;; - mingw*) - AC_LIBOBJ([win32]) - CFLAGS="-DNT -D__MSVCRT__ $CFLAGS" - CCDLFLAGS=-DIMPORT ;; - esac - ;; - *) - ;; -esac - -AC_SUBST(LIBRUBY_LDSHARED) -AC_SUBST(LIBRUBY_DLDFLAGS) -AC_SUBST(RUBY_INSTALL_NAME) -AC_SUBST(RUBY_SO_NAME) -AC_SUBST(LIBRUBY_A) -AC_SUBST(LIBRUBY_SO) -AC_SUBST(LIBRUBY_ALIASES) -AC_SUBST(LIBRUBY) -AC_SUBST(LIBRUBYARG) -AC_SUBST(SOLIBS) -AC_SUBST(DLDLIBS) -AC_SUBST(ENABLE_SHARED) -AC_SUBST(MAINLIBS) - -ri_prefix= -test "$program_prefix" != NONE && - ri_prefix=$program_prefix - -ri_suffix= -test "$program_suffix" != NONE && - ri_suffix=$program_suffix - -RUBY_INSTALL_NAME="${ri_prefix}ruby${ri_suffix}" -case "$target_os" in - cygwin*|mingw*|*djgpp*|os2_emx*) - RUBY_LIB_PREFIX="/lib/ruby" - ;; - *) - RUBY_LIB_PREFIX="${prefix}/lib/ruby" - ;; -esac -RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${MAJOR}.${MINOR}" - -AC_ARG_WITH(sitedir, - [--with-sitedir=DIR site libraries in DIR [PREFIX/lib/ruby/site_ruby]], - [sitedir=$withval], - [sitedir='${prefix}/lib/ruby/site_ruby']) -SITE_DIR="`eval \"echo ${sitedir}\"`" -case "$target_os" in - cygwin*|mingw*|*djgpp*|os2_emx*) - RUBY_SITE_LIB_PATH="`expr "$SITE_DIR" : "$prefix\(/.*\)"`" || - RUBY_SITE_LIB_PATH="$SITE_DIR";; - *) - RUBY_SITE_LIB_PATH="$SITE_DIR";; -esac -RUBY_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${MAJOR}.${MINOR}" - -AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}") -AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}") -AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH2}") - -AC_SUBST(arch)dnl -AC_SUBST(sitedir)dnl - -configure_args=$ac_configure_args -AC_SUBST(configure_args)dnl - -if test "$fat_binary" = yes ; then - arch="fat-${target_os}" - - AC_DEFINE_UNQUOTED(RUBY_THIN_ARCHLIB, - "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}") - - AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB, - "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}") - AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}") -else - arch="${target_cpu}-${target_os}" - AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "${arch}") -fi - -AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_LIB_PATH}/${arch}") -AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH2}/${arch}") - -AC_ARG_WITH(search-path, - [--with-search-path=DIR specify the additional search path], - [search_path=$withval]) -if test "$search_path" != ""; then - AC_DEFINE_UNQUOTED(RUBY_SEARCH_PATH,"$search_path") -fi - -if test -f config.h && tr -d '\015' < confdefs.h | cmp -s config.h -; then - echo "config.h unchanged" -else - echo "creating config.h" - tr -d '\015' < confdefs.h > config.h -fi -: > confdefs.h - -AC_OUTPUT($FIRSTMAKEFILE Makefile ext/extmk.rb) |
