| Index: libffi/ChangeLog |
| =================================================================== |
| --- libffi.orig/ChangeLog |
| +++ libffi/ChangeLog |
| @@ -109,6 +109,13 @@ |
| * testsuite/libffi.call/cls_longdouble.c: Likewise. |
| * testsuite/libffi.call/huge_struct.c: Likewise. |
| |
| +2010-08-05 Dan Witte <dwitte@mozilla.com> |
| + |
| + * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the |
| + debug CRT when --enable-debug is given. |
| + * configure.ac: Define it. |
| + * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately. |
| + |
| 2010-08-04 Dan Witte <dwitte@mozilla.com> |
| |
| * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64 |
| Index: libffi/Makefile.am |
| =================================================================== |
| --- libffi.orig/Makefile.am |
| +++ libffi/Makefile.am |
| @@ -177,6 +177,14 @@ libffi_convenience_la_SOURCES = $(libffi |
| nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES) |
| |
| AM_CFLAGS = -Wall -g -fexceptions |
| +if FFI_DEBUG |
| +# Build debug. Define FFI_DEBUG on the commandline so that, when building with |
| +# MSVC, it can link against the debug CRT. |
| +AM_CFLAGS += -DFFI_DEBUG |
| +else |
| +# Build opt. |
| +AM_CFLAGS += -O2 |
| +endif |
| |
| libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS) |
| |
| Index: libffi/configure.ac |
| =================================================================== |
| --- libffi.orig/configure.ac |
| +++ libffi/configure.ac |
| @@ -16,10 +16,14 @@ AM_INIT_AUTOMAKE |
| # We must force CC to /not/ be precious variables; otherwise |
| # the wrong, non-multilib-adjusted value will be used in multilibs. |
| # As a side effect, we have to subst CFLAGS ourselves. |
| +# Also save and restore CFLAGS, since AC_PROG_CC will come up with |
| +# defaults of its own if none are provided. |
| |
| m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) |
| m4_define([_AC_ARG_VAR_PRECIOUS],[]) |
| +save_CFLAGS=$CFLAGS |
| AC_PROG_CC |
| +CFLAGS=$save_CFLAGS |
| m4_undefine([_AC_ARG_VAR_PRECIOUS]) |
| m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) |
| |
| @@ -406,6 +410,7 @@ AC_ARG_ENABLE(debug, |
| if test "$enable_debug" = "yes"; then |
| AC_DEFINE(FFI_DEBUG, 1, [Define this if you want extra debugging.]) |
| fi) |
| +AM_CONDITIONAL(FFI_DEBUG, test "$enable_debug" = "yes") |
| |
| AC_ARG_ENABLE(structs, |
| [ --disable-structs omit code for struct support], |
| Index: libffi/Makefile.in |
| =================================================================== |
| --- libffi.orig/Makefile.in |
| +++ libffi/Makefile.in |
| @@ -61,6 +61,11 @@ target_triplet = @target@ |
| @SH64_TRUE@am__append_23 = src/sh64/sysv.S src/sh64/ffi.c |
| @PA_LINUX_TRUE@am__append_24 = src/pa/linux.S src/pa/ffi.c |
| @PA_HPUX_TRUE@am__append_25 = src/pa/hpux32.S src/pa/ffi.c |
| +# Build debug. Define FFI_DEBUG on the commandline so that, when building with |
| +# MSVC, it can link against the debug CRT. |
| +@FFI_DEBUG_TRUE@am__append_26 = -DFFI_DEBUG |
| +# Build opt. |
| +@FFI_DEBUG_FALSE@am__append_27 = -O2 |
| subdir = . |
| DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ |
| $(srcdir)/Makefile.in $(srcdir)/doc/stamp-vti \ |
| @@ -483,7 +488,7 @@ nodist_libffi_la_SOURCES = $(am__append_ |
| $(am__append_24) $(am__append_25) |
| libffi_convenience_la_SOURCES = $(libffi_la_SOURCES) |
| nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES) |
| -AM_CFLAGS = -Wall -g -fexceptions |
| +AM_CFLAGS = -Wall -g -fexceptions $(am__append_26) $(am__append_27) |
| libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LTLDFLAGS) $(AM_LTLDFLAGS) |
| AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src |
| AM_CCASFLAGS = $(AM_CPPFLAGS) |
| Index: libffi/configure |
| =================================================================== |
| --- libffi.orig/configure |
| +++ libffi/configure |
| @@ -791,6 +791,8 @@ LTLIBOBJS |
| LIBOBJS |
| toolexeclibdir |
| toolexecdir |
| +FFI_DEBUG_FALSE |
| +FFI_DEBUG_TRUE |
| TARGETDIR |
| TARGET |
| HAVE_LONG_DOUBLE |
| @@ -2763,9 +2765,12 @@ am__tar='${AMTAR} chof - "$$tardir"'; am |
| # We must force CC to /not/ be precious variables; otherwise |
| # the wrong, non-multilib-adjusted value will be used in multilibs. |
| # As a side effect, we have to subst CFLAGS ourselves. |
| +# Also save and restore CFLAGS, since AC_PROG_CC will come up with |
| +# defaults of its own if none are provided. |
| |
| |
| |
| +save_CFLAGS=$CFLAGS |
| ac_ext=c |
| ac_cpp='$CPP $CPPFLAGS' |
| ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
| @@ -3888,6 +3893,7 @@ else |
| fi |
| |
| |
| +CFLAGS=$save_CFLAGS |
| |
| |
| |
| @@ -4776,13 +4782,13 @@ if test "${lt_cv_nm_interface+set}" = se |
| else |
| lt_cv_nm_interface="BSD nm" |
| echo "int some_variable = 0;" > conftest.$ac_ext |
| - (eval echo "\"\$as_me:4779: $ac_compile\"" >&5) |
| + (eval echo "\"\$as_me:4785: $ac_compile\"" >&5) |
| (eval "$ac_compile" 2>conftest.err) |
| cat conftest.err >&5 |
| - (eval echo "\"\$as_me:4782: $NM \\\"conftest.$ac_objext\\\"\"" >&5) |
| + (eval echo "\"\$as_me:4788: $NM \\\"conftest.$ac_objext\\\"\"" >&5) |
| (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) |
| cat conftest.err >&5 |
| - (eval echo "\"\$as_me:4785: output\"" >&5) |
| + (eval echo "\"\$as_me:4791: output\"" >&5) |
| cat conftest.out >&5 |
| if $GREP 'External.*some_variable' conftest.out > /dev/null; then |
| lt_cv_nm_interface="MS dumpbin" |
| @@ -5988,7 +5994,7 @@ ia64-*-hpux*) |
| ;; |
| *-*-irix6*) |
| # Find out which ABI we are using. |
| - echo '#line 5991 "configure"' > conftest.$ac_ext |
| + echo '#line 5997 "configure"' > conftest.$ac_ext |
| if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 |
| (eval $ac_compile) 2>&5 |
| ac_status=$? |
| @@ -7845,11 +7851,11 @@ else |
| -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
| -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
| -e 's:$: $lt_compiler_flag:'` |
| - (eval echo "\"\$as_me:7848: $lt_compile\"" >&5) |
| + (eval echo "\"\$as_me:7854: $lt_compile\"" >&5) |
| (eval "$lt_compile" 2>conftest.err) |
| ac_status=$? |
| cat conftest.err >&5 |
| - echo "$as_me:7852: \$? = $ac_status" >&5 |
| + echo "$as_me:7858: \$? = $ac_status" >&5 |
| if (exit $ac_status) && test -s "$ac_outfile"; then |
| # The compiler can only warn and ignore the option if not recognized |
| # So say no if there are warnings other than the usual output. |
| @@ -8184,11 +8190,11 @@ else |
| -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
| -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
| -e 's:$: $lt_compiler_flag:'` |
| - (eval echo "\"\$as_me:8187: $lt_compile\"" >&5) |
| + (eval echo "\"\$as_me:8193: $lt_compile\"" >&5) |
| (eval "$lt_compile" 2>conftest.err) |
| ac_status=$? |
| cat conftest.err >&5 |
| - echo "$as_me:8191: \$? = $ac_status" >&5 |
| + echo "$as_me:8197: \$? = $ac_status" >&5 |
| if (exit $ac_status) && test -s "$ac_outfile"; then |
| # The compiler can only warn and ignore the option if not recognized |
| # So say no if there are warnings other than the usual output. |
| @@ -8289,11 +8295,11 @@ else |
| -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
| -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
| -e 's:$: $lt_compiler_flag:'` |
| - (eval echo "\"\$as_me:8292: $lt_compile\"" >&5) |
| + (eval echo "\"\$as_me:8298: $lt_compile\"" >&5) |
| (eval "$lt_compile" 2>out/conftest.err) |
| ac_status=$? |
| cat out/conftest.err >&5 |
| - echo "$as_me:8296: \$? = $ac_status" >&5 |
| + echo "$as_me:8302: \$? = $ac_status" >&5 |
| if (exit $ac_status) && test -s out/conftest2.$ac_objext |
| then |
| # The compiler can only warn and ignore the option if not recognized |
| @@ -8344,11 +8350,11 @@ else |
| -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
| -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
| -e 's:$: $lt_compiler_flag:'` |
| - (eval echo "\"\$as_me:8347: $lt_compile\"" >&5) |
| + (eval echo "\"\$as_me:8353: $lt_compile\"" >&5) |
| (eval "$lt_compile" 2>out/conftest.err) |
| ac_status=$? |
| cat out/conftest.err >&5 |
| - echo "$as_me:8351: \$? = $ac_status" >&5 |
| + echo "$as_me:8357: \$? = $ac_status" >&5 |
| if (exit $ac_status) && test -s out/conftest2.$ac_objext |
| then |
| # The compiler can only warn and ignore the option if not recognized |
| @@ -11147,7 +11153,7 @@ else |
| lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
| lt_status=$lt_dlunknown |
| cat > conftest.$ac_ext <<_LT_EOF |
| -#line 11150 "configure" |
| +#line 11156 "configure" |
| #include "confdefs.h" |
| |
| #if HAVE_DLFCN_H |
| @@ -11243,7 +11249,7 @@ else |
| lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
| lt_status=$lt_dlunknown |
| cat > conftest.$ac_ext <<_LT_EOF |
| -#line 11246 "configure" |
| +#line 11252 "configure" |
| #include "confdefs.h" |
| |
| #if HAVE_DLFCN_H |
| @@ -14777,6 +14783,14 @@ _ACEOF |
| fi |
| fi |
| |
| + if test "$enable_debug" = "yes"; then |
| + FFI_DEBUG_TRUE= |
| + FFI_DEBUG_FALSE='#' |
| +else |
| + FFI_DEBUG_TRUE='#' |
| + FFI_DEBUG_FALSE= |
| +fi |
| + |
| |
| # Check whether --enable-structs was given. |
| if test "${enable_structs+set}" = set; then |
| @@ -15177,6 +15191,13 @@ Usually this means the macro was only in |
| { (exit 1); exit 1; }; } |
| fi |
| |
| +if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then |
| + { { $as_echo "$as_me:$LINENO: error: conditional \"FFI_DEBUG\" was never defined. |
| +Usually this means the macro was only invoked conditionally." >&5 |
| +$as_echo "$as_me: error: conditional \"FFI_DEBUG\" was never defined. |
| +Usually this means the macro was only invoked conditionally." >&2;} |
| + { (exit 1); exit 1; }; } |
| +fi |
| |
| : ${CONFIG_STATUS=./config.status} |
| ac_write_fail=0 |