X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=configure.in;h=e46aae401e5223cbd3e3ae6a5291c3278248aa49;hb=3aaea86ff1d81cbb0432170e66afe22222fd9614;hp=926ba7eed345a131222ecd3573034f77bd267674;hpb=e8b90e821cd252a9501f5c9b86eb7b1c2dd829b5;p=fw%2Fsdcc diff --git a/configure.in b/configure.in index 926ba7ee..e46aae40 100755 --- a/configure.in +++ b/configure.in @@ -16,6 +16,9 @@ fi VERSIONHI=`echo $VERSION|$AWK 'BEGIN {FS="."} {print $1}'` VERSIONLO=`echo $VERSION|$AWK 'BEGIN {FS="."} {print $2}'` VERSIONP=`echo $VERSION|$AWK 'BEGIN {FS="."} {print $3}'` +# Assume no special extension +EXEEXT=`echo $EXEEXT` + AC_MSG_RESULT(${VERSION}) AC_SUBST(VERSION) AC_SUBST(VERSIONHI) @@ -25,6 +28,7 @@ AC_DEFINE_UNQUOTED(SDCC_VERSION_LO, ${VERSIONLO}) AC_DEFINE_UNQUOTED(SDCC_VERSION_HI, ${VERSIONHI}) AC_DEFINE_UNQUOTED(SDCC_VERSION_P, ${VERSIONP}) AC_DEFINE_UNQUOTED(SDCC_VERSION_STR, "${VERSION}") +AC_ARG_PROGRAM sdcc_cv_version=$VERSION sdcc_cv_versionhi=$VERSIONHI sdcc_cv_versionlo=$VERSIONLO @@ -40,6 +44,7 @@ AC_PROG_RANLIB AC_PROG_LEX(flex, :) AC_CHECK_PROG(YACC, bison, bison -y, :) AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, :) +AC_CHECK_PROG(STRIP, strip, strip, :) AC_CHECK_PROG(AS, as, as, :) AC_CHECK_PROG(CP, cp, cp, :) @@ -59,7 +64,6 @@ AC_LANG_C AC_HEADER_STDC AC_CHECK_HEADERS(getopt.h) AC_CHECK_HEADERS(unistd.h) -AC_CHECK_HEADERS(endian.h) AC_CHECK_HEADERS(malloc.h) AC_CHECK_HEADERS(sys/isa_defs.h) AC_CHECK_HEADERS(sys/socket.h) @@ -111,7 +115,8 @@ AC_DEFINE_UNQUOTED(HEADER_FD, ${sdcc_cv_fd}) # Checking for functions # =========================================================================== AC_CHECK_FUNCS(strlen strcpy strcat strstr strcmp strerror strtok strdup) -AC_CHECK_FUNCS(strchr memcpy) +AC_CHECK_FUNCS(strchr memcpy vsnprintf snprintf vsprintf) +AC_CHECK_FUNCS(mkstemp) dnl AC_CHECK_FUNCS(getline) dnl AC_CHECK_FUNCS(getdelim) AC_CHECK_FUNCS(fgets) @@ -175,6 +180,59 @@ fi # =========================================================================== AC_TYPE_SIGNAL +if test "$cross_compiling" = "no"; then +AC_CHECK_SIZEOF(char) +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) +else + if $CXX -v 2>&1|grep "mingw" >/dev/null 2>&1; then + ac_cv_sizeof_char=1 + ac_cv_sizeof_short=2 + ac_cv_sizeof_int=4 + ac_cv_sizeof_long=4 + else + : # FIXME + fi +#echo +fi + +type_name() +{ + if expr "$ac_cv_sizeof_char" '>=' "$1" >/dev/null; then + echo "char" + exit + fi + if expr "$ac_cv_sizeof_short" '>=' "$1" >/dev/null; then + echo "short" + exit + fi + if expr "$ac_cv_sizeof_int" '>=' "$1" >/dev/null; then + echo "int" + exit + fi + if expr "$ac_cv_sizeof_long" '>=' "$1" >/dev/null; then + echo "long" + exit + fi + echo "long" +} + +AC_MSG_CHECKING(type name for byte) +TYPE_BYTE=`type_name 1` +AC_MSG_RESULT($TYPE_BYTE) +AC_MSG_CHECKING(type name for word) +TYPE_WORD=`type_name 2` +AC_MSG_RESULT($TYPE_WORD) +AC_MSG_CHECKING(type name for dword) +TYPE_DWORD=`type_name 4` +AC_MSG_RESULT($TYPE_DWORD) +AC_DEFINE_UNQUOTED(TYPE_BYTE, $TYPE_BYTE) +AC_DEFINE_UNQUOTED(TYPE_WORD, $TYPE_WORD) +AC_DEFINE_UNQUOTED(TYPE_DWORD, $TYPE_DWORD) + +AC_C_BIGENDIAN + # # if test "${prefix}" = "NONE"; then @@ -196,15 +254,21 @@ else sdcc_datadir_tmp=${datadir}/sdcc fi +if test "${includedir}" = "\${prefix}/include"; then + AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${sdcc_datadir_tmp}/include") + AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${sdcc_datadir_tmp}/include") +else + AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${includedir}") + AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${includedir}") +fi -AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${sdcc_datadir_tmp}/include") -AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${sdcc_datadir_tmp}/include") AC_DEFINE_UNQUOTED(SDCC_LIB_DIR, "${sdcc_datadir_tmp}/lib") AC_DEFINE_UNQUOTED(STD_LIB, "libsdcc") AC_DEFINE_UNQUOTED(STD_INT_LIB, "libint") AC_DEFINE_UNQUOTED(STD_LONG_LIB, "liblong") AC_DEFINE_UNQUOTED(STD_FP_LIB, "libfloat") AC_DEFINE_UNQUOTED(STD_DS390_LIB, "libds390") +AC_DEFINE_UNQUOTED(STD_xa51_LIB, "xa51") AC_DEFINE_UNQUOTED(PREFIX, "${prefix}") AC_DEFINE_UNQUOTED(DATADIR, "${sdcc_datadir_tmp}") @@ -214,7 +278,7 @@ AC_DEFINE_UNQUOTED(SRCDIR, "${config_in}") # Now handle the port selection rm -f ports.all ports.build -AC_ARG_ENABLE(mcs51-port,--disable-mcs51-port: Excludes the Intel mcs51 port) +AC_ARG_ENABLE(mcs51-port,[ --disable-mcs51-port Excludes the Intel mcs51 port]) echo mcs51 >>ports.all if test "$enable_mcs51_port" = "no"; then AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 1) @@ -223,7 +287,7 @@ else AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 0) fi -AC_ARG_ENABLE(gbz80-port,--disable-gbz80-port: Excludes the Gameboy gbz80 port) +AC_ARG_ENABLE(gbz80-port,[ --disable-gbz80-port Excludes the Gameboy gbz80 port]) echo z80 >>ports.all if test "$enable_gbz80_port" = "no"; then AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 1) @@ -232,7 +296,7 @@ else AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 0) fi -AC_ARG_ENABLE(z80-port,--disable-z80-port: Excludes the z80 port) +AC_ARG_ENABLE(z80-port,[ --disable-z80-port Excludes the z80 port]) echo z80 >>ports.all if test "$enable_z80_port" = "no"; then AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 1) @@ -241,7 +305,7 @@ else AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 0) fi -AC_ARG_ENABLE(avr-port,--disable-avr-port: Excludes the AVR port) +AC_ARG_ENABLE(avr-port,[ --disable-avr-port Excludes the AVR port]) echo avr >>ports.all if test "$enable_avr_port" = "no"; then AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 1) @@ -250,16 +314,18 @@ else AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 0) fi -AC_ARG_ENABLE(ds390-port,--disable-ds390-port: Excludes the DS390 port) +AC_ARG_ENABLE(ds390-port,[ --disable-ds390-port Excludes the DS390 port]) echo ds390 >>ports.all if test "$enable_ds390_port" = "no"; then AC_DEFINE_UNQUOTED(OPT_DISABLE_DS390, 1) + AC_DEFINE_UNQUOTED(OPT_DISABLE_TININative, 1) else echo ds390 >>ports.build AC_DEFINE_UNQUOTED(OPT_DISABLE_DS390, 0) + AC_DEFINE_UNQUOTED(OPT_DISABLE_TININative, 0) fi -AC_ARG_ENABLE(pic-port,--disable-pic-port: Excludes the PIC port) +AC_ARG_ENABLE(pic-port,[ --disable-pic-port Excludes the PIC port]) echo pic >>ports.all if test "$enable_pic_port" = "no"; then AC_DEFINE_UNQUOTED(OPT_DISABLE_PIC, 1) @@ -268,23 +334,35 @@ else AC_DEFINE_UNQUOTED(OPT_DISABLE_PIC, 0) fi -AC_ARG_ENABLE(i186-port,--disable-i186-port: Excludes the I186 port) -echo izt >>ports.all -if test "$enable_i186_port" = "no"; then - AC_DEFINE_UNQUOTED(OPT_DISABLE_I186, 1) +AC_ARG_ENABLE(xa51-port,[ --disable-xa51-port Excludes the XA51 port]) +echo xa51 >>ports.all +if test "$enable_xa51_port" = "no"; then + AC_DEFINE_UNQUOTED(OPT_DISABLE_XA51, 1) else - echo izt >>ports.build - AC_DEFINE_UNQUOTED(OPT_DISABLE_I186, 0) + echo xa51 >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_XA51, 0) fi -AC_ARG_ENABLE(tlcs900h-port,--disable-tlcs900h-port: Excludes the TLCS900H port) -echo izt >>ports.all -if test "$enable_tlcs900h_port" = "no"; then - AC_DEFINE_UNQUOTED(OPT_DISABLE_TLCS900H, 1) +AC_ARG_ENABLE(ucsim,[ --disable-ucsim Disables configuring and building of ucsim]) +OPT_ENABLE_UCSIM=$enable_ucsim +AC_SUBST(OPT_ENABLE_UCSIM) + +AC_ARG_ENABLE(device-lib-build,[ --disable-device-lib-build Disables automatically building device libraries]) +OPT_ENABLE_DEVICE_LIB_BUILD=$enable_device_lib_build +AC_SUBST(OPT_ENABLE_DEVICE_LIB_BUILD) + +AC_ARG_ENABLE(packihx,[ --disable-packihx Disables building packihx]) +OPT_ENABLE_PACKIHX=$enable_packihx +AC_SUBST(OPT_ENABLE_PACKIHX) + +AC_ARG_ENABLE(libgc,[ --enable-libgc Use the Bohem memory allocator. Lower runtime footprint.]) +if test "$enable_libgc" = "yes"; then + AC_CHECK_LIB(gc, GC_malloc) + OPT_ENABLE_LIBGC=1 else - echo izt >>ports.build - AC_DEFINE_UNQUOTED(OPT_DISABLE_TLCS900H, 0) + OPT_ENABLE_LIBGC=0 fi +AC_DEFINE_UNQUOTED(OPT_ENABLE_LIBGC, $OPT_ENABLE_LIBGC) #remove duplicates cat ports.all | uniq >ports @@ -294,15 +372,15 @@ mv ports ports.build # Generating output files # =========================================================================== -AC_CONFIG_SUBDIRS(sim/ucsim) +AC_CONFIG_SUBDIRS(support/cpp2) AC_CONFIG_SUBDIRS(packihx) +AC_CONFIG_SUBDIRS(sim/ucsim) # MLH: removed as the rules are already in Makefile.common #as/z80/Makefile #link/z80/Makefile AC_OUTPUT(main.mk:main_in.mk src/Makefile as/mcs51/Makefile -support/cpp/Makefile device/include/Makefile device/lib/Makefile debugger/mcs51/Makefile