From f913dfaef2e9b5031d7b064da295c70e9536528f Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 27 Oct 2005 19:31:28 +0000 Subject: [PATCH] * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw. * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw cross compiling. * stepmake/aclocal.m4: Support python cross compiling. * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX): Add mingw section. --- ChangeLog | 23 ++++++++++++++++ GNUmakefile.in | 2 -- configure.in | 2 +- python/GNUmakefile | 1 - stepmake/aclocal.m4 | 31 ++++++++++++++++------ stepmake/stepmake/compile-vars.make | 4 +++ stepmake/stepmake/generic-vars.make | 9 +++++-- stepmake/stepmake/python-module-vars.make | 10 +++++-- stepmake/stepmake/shared-library-vars.make | 21 +++++++++++---- 9 files changed, 82 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7adfbd6edf..bffe5238de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +2005-10-27 Jan Nieuwenhuizen + + * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw. + + * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw + cross compiling. + + * stepmake/aclocal.m4: Support python cross compiling. + + * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX): + Add mingw section. + +2005-10-25 Jan Nieuwenhuizen + + * stepmake/aclocal.m4 (STEPMAKE_PYTHON_DEVEL): Fixes for cross + compilation. Add --with-python-include, --with-python-lib + options. + + * stepmake/stepmake/shared-library-vars.make (ALL_LDFLAGS): Add + MINGW section. Update CYGWIN section. + + * stepmake/stepmake/generic-vars.make: Add MINGW_BUILD. + 2005-10-23 Jan Nieuwenhuizen * scm/lily.scm: Remove horrendous running-from-gui? kludge. diff --git a/GNUmakefile.in b/GNUmakefile.in index 2f768d56b1..23fccd5411 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -165,5 +165,3 @@ $(config_h): config.hh.in @echo ' rm $(config_h); ./autogen.sh' @echo @false - - diff --git a/configure.in b/configure.in index 470440da47..6fc80d0441 100644 --- a/configure.in +++ b/configure.in @@ -65,7 +65,7 @@ STEPMAKE_TEXMF(REQUIRED) STEPMAKE_TEXMF_DIRS STEPMAKE_GUILE_DEVEL(REQUIRED, 1.6.5) STEPMAKE_MAKEINFO(REQUIRED) -STEPMAKE_PYTHON_DEVEL(REQUIRED) +STEPMAKE_PYTHON_DEVEL(OPTIONAL) STEPMAKE_PATH_PROG(GHOSTSCRIPT, gs, OPTIONAL, 8.14) diff --git a/python/GNUmakefile b/python/GNUmakefile index bc9d2baeb5..400828d53f 100644 --- a/python/GNUmakefile +++ b/python/GNUmakefile @@ -15,5 +15,4 @@ INSTALLATION_OUT_DIR=$(local_lilypond_libdir)/python INSTALLATION_OUT_DIR1=$(local_lilypond_datadir)/python INSTALLATION_OUT_FILES1=$(OUT_PY_MODULES) $(OUT_PYC_MODULES) - $(outdir)/midi.lo: $(outdir)/config.hh diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index 397b9d8be8..8624b2fc3a 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -976,26 +976,41 @@ AC_DEFUN(STEPMAKE_PYTHON, [ ]) AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [ - unset PYTHON_HEADER PYTHON_INCLUDE - if test -n "$PYTHON"; then + AC_ARG_WITH(python-include, + [ --with-python-include=DIR + location of the python include dir],[ + if test "$withval" = "yes" -o "$withval" = "no"; then + AC_MSG_WARN(Usage: --with-python-include=includedir) + else + PYTHON_CFLAGS="-I${withval}" + fi + ]) + + AC_ARG_WITH(python-lib, + [ --with-python-lib=NAME name of the python lib],[ + if test "$withval" = "yes" -o "$withval" = "no"; then + AC_MSG_WARN(Usage: --with-python-lib=name) + else + LDFLAGS="$LDFLAGS -l${withval}" + fi + ]) + + if test "$cross_compiling" = "no" -a -z "$PYTHON_CFLAGS"; then changequote(<<, >>)#dnl # alternatively, for python >= 2.0 # 'import sys, distutils.sysconfig; sys.stdout.write (distutils.sysconfig.get_python_inc ())' PYTHON_INCLUDE=`$PYTHON -c 'import sys; sys.stdout.write ("%s/include/python%s" % (sys.prefix, sys.version[:3]))'` + PYTHON_CFLAGS="-I$PYTHON_INCLUDE" changequote([, ])#dnl fi - ##AC_CHECK_HEADERS([Python.h],[PYTHON_HEADER=yes]) if test -z "$PYTHON_HEADER"; then - #URG -- how to extend include path? - ac_compile="$ac_compile -I$PYTHON_INCLUDE" - ac_cpp="$ac_cpp -I$PYTHON_INCLUDE" - CPPFLAGS="$CPPFLAGS -I$PYTHON_INCLUDE" + CPPFLAGS="$PYTHON_CFLAGS $CPPFLAGS" AC_CHECK_HEADERS([Python.h],[PYTHON_HEADER=yes]) fi if test -z "$PYTHON_HEADER"; then - warn="$PYTHON_INCLUDE/Python.h (python-devel, python-dev or libpython-dev package)" + warn="Python.h (python-devel, python-dev or libpython-dev package)" STEPMAKE_ADD_ENTRY($1, $warn) fi ]) diff --git a/stepmake/stepmake/compile-vars.make b/stepmake/stepmake/compile-vars.make index 085a4363e6..384f354ead 100644 --- a/stepmake/stepmake/compile-vars.make +++ b/stepmake/stepmake/compile-vars.make @@ -3,7 +3,11 @@ ARFLAGS = ru ALL_LDFLAGS = $(LDFLAGS) $(ILDFLAGS) $(EXTRA_LDFLAGS) $($(PACKAGE)_LDFLAGS) $(MODULE_LDFLAGS) $(USER_LDFLAGS) PIC_FLAGS = -fpic -fPIC +ifeq ($(MINGW_BUILD),) SHARED_FLAGS = -shared +else +SHARED_FLAGS = -mdll +endif o-dep-out = $(outdir)/$(subst .o,.dep,$(notdir $@))# DO_O_DEP = rm -f $(o-dep-out); DEPENDENCIES_OUTPUT="$(o-dep-out) $(outdir)/$(notdir $@)" diff --git a/stepmake/stepmake/generic-vars.make b/stepmake/stepmake/generic-vars.make index d228d5f9f2..685ee8e789 100644 --- a/stepmake/stepmake/generic-vars.make +++ b/stepmake/stepmake/generic-vars.make @@ -118,8 +118,13 @@ HOST_ARCH=$(shell $(CC) -dumpmachine) ifeq ($(HOST_ARCH),i686-pc-cygwin) CYGWIN_BUILD = yes endif -# -# ugh-- what if someone decides on: 'i568-pc-cygwin-gnu' ifeq ($(HOST_ARCH),i686-cygwin) CYGWIN_BUILD = yes endif + +ifeq ($(HOST_ARCH),i586-mingw32msvc) +MINGW_BUILD = yes +endif +ifeq ($(HOST_ARCH),i386-mingw32) +MINGW_BUILD = yes +endif diff --git a/stepmake/stepmake/python-module-vars.make b/stepmake/stepmake/python-module-vars.make index be7985f27b..40b74bc6d8 100644 --- a/stepmake/stepmake/python-module-vars.make +++ b/stepmake/stepmake/python-module-vars.make @@ -1,10 +1,16 @@ +ALL_LDFLAGS = $(LDFLAGS) PY_MODULES_IN = $(wildcard *.py) OUT_PY_MODULES = $(PY_MODULES_IN:%=$(outdir)/%) OUT_PYC_MODULES = $(OUT_PY_MODULES:%.py=%.pyc) +ifeq ($(MINGW_BUILD)$(CYGWIN_BUILD),) +SHARED_MODULE_SUFFIX = .so +else ifneq ($(CYGWIN_BUILD),) SHARED_MODULE_SUFFIX = .dll -else -SHARED_MODULE_SUFFIX = .so +endif +ifneq ($(MINGW_BUILD),) +SHARED_MODULE_SUFFIX = .dll +endif endif OUT_SO_MODULES = $(addprefix $(outdir)/, $(C_FILES:.c=$(SHARED_MODULE_SUFFIX))) EXTRA_DIST_FILES += $(PY_MODULES_IN) diff --git a/stepmake/stepmake/shared-library-vars.make b/stepmake/stepmake/shared-library-vars.make index a8ea9a9935..33e580553a 100644 --- a/stepmake/stepmake/shared-library-vars.make +++ b/stepmake/stepmake/shared-library-vars.make @@ -1,15 +1,26 @@ +ifeq ($(CYGWIN_BUILD)$(MINGW_BUILD),) + SHARED_LIB_PREFIX = lib + SHARED_LIB_SUFFIX = .so + SHARED_LIB_VERSION = $(VERSION) + SHARED_LIB_VERSION_SUFFIX = +else ifneq ($(CYGWIN_BUILD),) SHARED_LIB_PREFIX = cyg SHARED_LIB_SUFFIX = SHARED_LIB_VERSION = $(subst .,-,$(VERSION)) SHARED_LIB_VERSION_SUFFIX = .dll - ALL_LDFLAGS += -Wl,--image-base=0x10000000 -Wl,--out-implib,lib$(NAME).a -else +# ALL_LDFLAGS += -Wl,--image-base=0x10000000 -Wl,--out-implib,lib$(NAME).a + ALL_LDFLAGS += -Wl,--enable-auto-image-base -Wl,--out-implib,lib$(NAME).a +endif +ifneq ($(MINGW_BUILD),) SHARED_LIB_PREFIX = lib - SHARED_LIB_SUFFIX = .so - SHARED_LIB_VERSION = $(VERSION) - SHARED_LIB_VERSION_SUFFIX = + SHARED_LIB_SUFFIX = + SHARED_LIB_VERSION = $(subst .,-,$(VERSION)) + SHARED_LIB_VERSION_SUFFIX = .dll +## ALL_LDFLAGS += -Wl,--image-base=0x10000000 -Wl,--out-implib,lib$(NAME).a + ALL_LDFLAGS += -Wl,--out-implib,lib$(NAME).a +endif endif INSTALL_SHARED_LIBRARY = $(SHARED_LIB_PREFIX)$(NAME)$(SHARED_LIB_SUFFIX)$(SHARED_LIB_VERSION)$(SHARED_LIB_VERSION_SUFFIX) -- 2.39.5