diff options
author | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-15 18:15:18 +0000 |
---|---|---|
committer | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-15 18:15:18 +0000 |
commit | edfda78355c5528eee489fa8a7f9c73bf8e734f2 (patch) | |
tree | 78d2414d9791e1efc17ec9b35b438ae35602340a /configure | |
parent | 1391cd548782097e34d7856ec4f20ca90bdf2c26 (diff) | |
download | emacs-edfda78355c5528eee489fa8a7f9c73bf8e734f2.tar.gz |
merging Emacs.app (NeXTstep port)
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 309 |
1 files changed, 271 insertions, 38 deletions
diff --git a/configure b/configure index b3b36a7593b..4b0b0848cc1 100755 --- a/configure +++ b/configure @@ -734,6 +734,7 @@ X_TOOLKIT_TYPE machfile opsysfile carbon_appdir +ns_appdir LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias @@ -1332,6 +1333,9 @@ Optional Features: --enable-carbon-app[=DIR] specify install directory for Emacs.app on Mac OS X [DIR=/Application] + --enable-ns-app[=DIR] [DIR=/Applications] + specify install directory for Emacs.app under NS + --enable-cocoa-experimental-ctrl-g enable experimental improved ctrl-g recognition --enable-asserts compile code with asserts enabled --enable-maintainer-mode enable make rules and dependencies not useful (and @@ -1367,6 +1371,7 @@ Optional Packages: --without-xaw3d don't use Xaw3d --without-xim don't use X11 XIM --with-carbon use Carbon GUI on Mac OS X. This is unsupported! + --with-ns use nextstep (Cocoa or GNUstep) windowing system --without-gpm don't use -lgpm for mouse support on a GNU/Linux console --without-dbus don't compile with D-Bus support @@ -2087,6 +2092,14 @@ else fi +# Check whether --with-ns was given. +if test "${with_ns+set}" = set; then + withval=$with_ns; +else + with_ns=no +fi + + # Check whether --with-gpm was given. if test "${with_gpm+set}" = set; then @@ -2155,6 +2168,20 @@ if test "${enable_carbon_app+set}" = set; then fi +# Check whether --enable-ns-app was given. +if test "${enable_ns_app+set}" = set; then + enableval=$enable_ns_app; ns_appdir_x=${enableval} +fi + + +# Check whether --enable-cocoa-experimental-ctrl-g was given. +if test "${enable_cocoa_experimental_ctrl_g+set}" = set; then + enableval=$enable_cocoa_experimental_ctrl_g; EN_COCOA_EXPERIMENTAL_CTRL_G=yes +else + EN_COCOA_EXPERIMENTAL_CTRL_G=no +fi + + # Check whether --enable-asserts was given. if test "${enable_asserts+set}" = set; then enableval=$enable_asserts; USE_XASSERTS=$enableval @@ -2378,16 +2405,17 @@ machine='' opsys='' unported=no case "${canonical}" in ## FreeBSD ports - *-*-freebsd* ) + *-*-*freebsd* ) opsys=freebsd case "${canonical}" in alpha*-*-freebsd*) machine=alpha ;; arm*-*-freebsd*) machine=arm ;; ia64-*-freebsd*) machine=ia64 ;; + sparc-*-freebsd*) machine=sparc ;; sparc64-*-freebsd*) machine=sparc ;; powerpc-*-freebsd*) machine=macppc ;; i[3456]86-*-freebsd*) machine=intel386 ;; - amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;; + amd64-*-freebsd*|x86_64-*-*freebsd*) machine=amdx86-64 ;; esac ;; @@ -2397,6 +2425,7 @@ case "${canonical}" in case "${canonical}" in alpha*-*-kfreebsd*) machine=alpha ;; ia64-*-kfreebsd*) machine=ia64 ;; + sparc-*-kfreebsd*) machine=sparc ;; sparc64-*-kfreebsd*) machine=sparc ;; powerpc-*-kfreebsd*) machine=macppc ;; i[3456]86-*-kfreebsd*) machine=intel386 ;; @@ -9308,6 +9337,179 @@ if test "${HAVE_CARBON}" = yes; then window_system=mac fi +HAVE_NS=no +COCOA=no +GNUSTEP=no +tmp_CPPFLAGS="$CPPFLAGS" +tmp_CFLAGS="$CFLAGS" +CPPFLAGS="$CPPFLAGS -x objective-c" +CFLAGS="$CFLAGS -x objective-c" +if test "${with_ns}" != no; then + if test "${opsys}" = darwin; then + COCOA=yes + elif test -f /etc/GNUstep/GNUstep.conf; then + GNUSTEP=yes + GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)" + GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)" + CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" + CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" + REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" + LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}" + fi + if test "${ac_cv_header_AppKit_AppKit_h+set}" = set; then + { echo "$as_me:$LINENO: checking for AppKit/AppKit.h" >&5 +echo $ECHO_N "checking for AppKit/AppKit.h... $ECHO_C" >&6; } +if test "${ac_cv_header_AppKit_AppKit_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_AppKit_AppKit_h" >&5 +echo "${ECHO_T}$ac_cv_header_AppKit_AppKit_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking AppKit/AppKit.h usability" >&5 +echo $ECHO_N "checking AppKit/AppKit.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <AppKit/AppKit.h> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking AppKit/AppKit.h presence" >&5 +echo $ECHO_N "checking AppKit/AppKit.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <AppKit/AppKit.h> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: AppKit/AppKit.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: AppKit/AppKit.h: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for AppKit/AppKit.h" >&5 +echo $ECHO_N "checking for AppKit/AppKit.h... $ECHO_C" >&6; } +if test "${ac_cv_header_AppKit_AppKit_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_AppKit_AppKit_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_AppKit_AppKit_h" >&5 +echo "${ECHO_T}$ac_cv_header_AppKit_AppKit_h" >&6; } + +fi +if test $ac_cv_header_AppKit_AppKit_h = yes; then + HAVE_NS=yes +fi + + +fi +if test "${window_system}" = x11 && test "${HAVE_NS}" = yes; then + if test "${with_ns+set}" != set \ + && test "${ns_appdir_x+set}" != set; then + HAVE_NS=no + fi +fi + +if test "${window_system}" = mac && test "${HAVE_NS}" = yes; then + if test "${with_ns+set}" != set \ + && test "${ns_appdir_x+set}" != set; then + HAVE_NS=no + else + HAVE_CARBON=no + fi +fi +if test "${HAVE_NS}" = yes; then + window_system=nextstep + with_xft=no + with_freetype=no +fi +CFLAGS="$tmp_CFLAGS" +CPPFLAGS="$tmp_CPPFLAGS" + case "${window_system}" in x11 ) HAVE_X_WINDOWS=yes @@ -9321,7 +9523,7 @@ case "${window_system}" in * ) USE_X_TOOLKIT=maybe ;; esac ;; - mac | none ) + nextstep | mac | none ) HAVE_X_WINDOWS=no HAVE_X11=no USE_X_TOOLKIT=none @@ -9396,9 +9598,6 @@ case ${HAVE_X11} in yes ) HAVE_MENUS=yes ;; esac -### Compute the unexec source name from the object name. -UNEXEC_SRC="`echo ${unexec} | sed 's/\.o/.c/'`" - # Do the opsystem or machine files prohibit the use of the GNU malloc? # Assume not, until told otherwise. GNU_MALLOC=yes @@ -12316,6 +12515,12 @@ _ACEOF _ACEOF USE_TOOLKIT_SCROLL_BARS=yes + elif test "${HAVE_NS}" = "yes"; then + cat >>confdefs.h <<\_ACEOF +#define USE_TOOLKIT_SCROLL_BARS 1 +_ACEOF + + USE_TOOLKIT_SCROLL_BARS=yes fi fi @@ -14943,6 +15148,46 @@ done # We also have mouse menus. HAVE_MENUS=yes fi +### Use NeXTstep API to implement GUI. +if test "${HAVE_NS}" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_NS 1 +_ACEOF + + ## Specify the install directory + ns_appdir= + if test "${ns_appdir_x}" != ""; then + case ${ns_appdir_x} in + y | ye | yes) ns_appdir=/Applications ;; + * ) ns_appdir=${ns_appdir_x} ;; + esac + fi + if test "${COCOA}" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define NS_IMPL_COCOA 1 +_ACEOF + + fi + if test "${EN_COCOA_EXPERIMENTAL_CTRL_G}" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define COCOA_EXPERIMENTAL_CTRL_G 1 +_ACEOF + + fi + if test "${GNUSTEP}" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define NS_IMPL_GNUSTEP 1 +_ACEOF + + fi + # We also have mouse menus. + HAVE_MENUS=yes +fi + ### Use session management (-lSM -lICE) if available HAVE_X_SM=no @@ -16688,7 +16933,6 @@ cat >>conftest.$ac_ext <<_ACEOF # endif #endif -#include <limits.h> #include <stdlib.h> #ifdef HAVE_UNISTD_H @@ -16837,15 +17081,12 @@ main () isn't worth using anyway. */ alarm (60); - for (;;) - { - t = (time_t_max << 1) + 1; - if (t <= time_t_max) - break; - time_t_max = t; - } - time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; - + for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) + continue; + time_t_max--; + if ((time_t) -1 < 0) + for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2) + continue; delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { @@ -16860,12 +17101,10 @@ main () && mktime_test ((time_t) (60 * 60 * 24)))) return 1; - for (j = 1; ; j <<= 1) + for (j = 1; 0 < j; j *= 2) if (! bigtime_test (j)) return 1; - else if (INT_MAX / 2 < j) - break; - if (! bigtime_test (INT_MAX)) + if (! bigtime_test (j - 1)) return 1; } return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); @@ -18774,13 +19013,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include <sys/types.h> /* for off_t */ - #include <stdio.h> +#include <stdio.h> int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } @@ -18820,13 +19057,11 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 -#include <sys/types.h> /* for off_t */ - #include <stdio.h> +#include <stdio.h> int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } @@ -23963,6 +24198,7 @@ fi + cat >>confdefs.h <<_ACEOF #define EMACS_CONFIGURATION "${canonical}" _ACEOF @@ -24106,12 +24342,11 @@ echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}" echo " Does Emacs use -lgpm? ${HAVE_GPM}" echo " Does Emacs use -ldbus? ${HAVE_DBUS}" -if test "${USE_FONT_BACKEND}" = "yes"; then - echo " Does Emacs use -lfreetype? ${HAVE_FREETYPE}" - echo " Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT}" - echo " Does Emacs use -lotf? ${HAVE_LIBOTF}" - echo " Does Emacs use -lxft? ${HAVE_XFT}" -fi +echo " Does Emacs use -lfreetype? ${HAVE_FREETYPE}" +echo " Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT}" +echo " Does Emacs use -lotf? ${HAVE_LIBOTF}" +echo " Does Emacs use -lxft? ${HAVE_XFT}" + echo " Does Emacs use X toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}" echo @@ -24985,10 +25220,11 @@ X_TOOLKIT_TYPE!$X_TOOLKIT_TYPE$ac_delim machfile!$machfile$ac_delim opsysfile!$opsysfile$ac_delim carbon_appdir!$carbon_appdir$ac_delim +ns_appdir!$ns_appdir$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 22; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 23; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 @@ -25449,9 +25685,6 @@ if test ! -f src/.gdbinit && test -f $srcdir/src/.gdbinit; then echo source $srcdir/src/.gdbinit > src/.gdbinit fi -# This is how we know whether to re-run configure in certain cases. -touch src/config.stamp - ;; esac |