X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=configure.in;h=926ba7eed345a131222ecd3573034f77bd267674;hb=3917d882e614178c666c8717b6d6133662ff86a3;hp=7126afdb15005c9a15a9fa58ed8f63aa110d7839;hpb=a3d1759c37fa399c45561eda23f696dd25cd5b62;p=fw%2Fsdcc diff --git a/configure.in b/configure.in index 7126afdb..926ba7ee 100755 --- a/configure.in +++ b/configure.in @@ -37,12 +37,21 @@ AC_PROG_CXX AC_PROG_CPP AC_PROG_INSTALL AC_PROG_RANLIB -AC_PROG_YACC(bison, :) AC_PROG_LEX(flex, :) +AC_CHECK_PROG(YACC, bison, bison -y, :) AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, :) AC_CHECK_PROG(AS, as, as, :) AC_CHECK_PROG(CP, cp, cp, :) +AC_DEFUN(SDCC_REQUIRE_PROG, +[if test "$1" = ":"; then + AC_MSG_ERROR([Cannot find required program $2.]) + fi +]) + +SDCC_REQUIRE_PROG($YACC, bison) +SDCC_REQUIRE_PROG($LEX, lex) + AC_LANG_C # Checking for header files. @@ -51,6 +60,7 @@ 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) AC_HEADER_DIRENT @@ -172,29 +182,124 @@ if test "${prefix}" = "NONE"; then fi config_in=`pwd` +sdcc_datadir=${datadir}/sdcc +AC_SUBST(sdcc_datadir) + +# For some unknown reason, putting this assignment in a subshell +# like this causes the rvalue to be fully substituted. We need this +# for the defines below to generate the right thing. We keep this +# separate from the substituted sdcc_datadir because we want the +# latter for makefiles. if test "${datadir}" = "\${prefix}/share"; then - sdcc_datadir=${prefix}/share + sdcc_datadir_tmp=${prefix}/share/sdcc else - sdcc_datadir=${datadir} + sdcc_datadir_tmp=${datadir}/sdcc fi -AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${sdcc_datadir}/sdcc51inc") -AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${sdcc_datadir}/sdcc51inc") -AC_DEFINE_UNQUOTED(SDCC_LIB_DIR, "${sdcc_datadir}/sdcc51lib") + + +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(PREFIX, "${prefix}") -AC_DEFINE_UNQUOTED(DATADIR, "${sdcc_datadir}") +AC_DEFINE_UNQUOTED(DATADIR, "${sdcc_datadir_tmp}") 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) +echo mcs51 >>ports.all +if test "$enable_mcs51_port" = "no"; then + AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 1) +else + echo mcs51 >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 0) +fi + +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) +else + echo z80 >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 0) +fi + +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) +else + echo z80 >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 0) +fi + +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) +else + echo avr >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 0) +fi + +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) +else + echo ds390 >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_DS390, 0) +fi + +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) +else + echo pic >>ports.build + 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) +else + echo izt >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_I186, 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) +else + echo izt >>ports.build + AC_DEFINE_UNQUOTED(OPT_DISABLE_TLCS900H, 0) +fi + +#remove duplicates +cat ports.all | uniq >ports +mv ports ports.all +cat ports.build | uniq >ports +mv ports ports.build + # Generating output files # =========================================================================== -AC_CONFIG_SUBDIRS(s51.src) +AC_CONFIG_SUBDIRS(sim/ucsim) +AC_CONFIG_SUBDIRS(packihx) +# MLH: removed as the rules are already in Makefile.common +#as/z80/Makefile +#link/z80/Makefile AC_OUTPUT(main.mk:main_in.mk -support/gc/Makefile src/Makefile as/mcs51/Makefile support/cpp/Makefile