Mercurial > mxe-octave
changeset 3853:58935b4de51f
Enable build cross mkoctfile and compile of-XXXX package files
* Makefile.in
Add ENABLE_BINARY_PACKAGES, MXE_MKOCTFILE variable.
Add OCTAVE_FORGE_PKG_COMPILE, OCTAVE_FORGE_PKG_BUILD_NOCOMPILE macros
* configure.ac: add --enable-binary-packages option
* src/default-octave.mk:
if mingw, enable cross compile of mkoctfile, install the cross built mkoctfile to usr/bin
* src/of-communications.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-control.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-dicom.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-fits.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-fl-core.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-image.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-linear-algebra.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-ltfat.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-linear-algebra.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-miscellaneous.mk:
use OCTAVE_FORGE_PKG_BUILD with UNITS_AVAILABLE=yes arg
* src/of-netcdf.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-odepkg.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-sockets.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
* src/of-windows.mk:
use OCTAVE_FORGE_PKG_BUILD_NOCOMPILE rule
author | John Donoghue |
---|---|
date | Thu, 19 Mar 2015 14:03:28 -0400 |
parents | a781fda0a9c6 |
children | 85568f3159a4 |
files | Makefile.in configure.ac src/default-octave.mk src/of-communications.mk src/of-control.mk src/of-dicom.mk src/of-fits.mk src/of-fl-core.mk src/of-image.mk src/of-linear-algebra.mk src/of-ltfat.mk src/of-miscellaneous.mk src/of-netcdf.mk src/of-odepkg.mk src/of-sockets.mk src/of-windows.mk |
diffstat | 16 files changed, 60 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile.in Thu Mar 19 07:46:36 2015 -0400 +++ b/Makefile.in Thu Mar 19 14:03:28 2015 -0400 @@ -51,6 +51,10 @@ # you know what you are doing. ENABLE_64 := @ENABLE_64@ +# create binary octave forge tools. +# if cross, compiling, this also means we will attempt to create cross mkoctfile +ENABLE_BINARY_PACKAGES := @ENABLE_BINARY_PACKAGES@ + # Should match what config.guess prints for your system. # If cross compiling, you must set it manually. ifeq ($(MXE_NATIVE_BUILD),yes) @@ -309,6 +313,8 @@ MXE_UIC := $(HOST_BINDIR)/uic MXE_LRELEASE := $(HOST_BINDIR)/lrelease MXE_RCC := $(HOST_BINDIR)/rcc + + MXE_MKOCTFILE := $(HOST_BINDIR)/mkoctfile else MXE_TOOL_PREFIX := $(TARGET)- MXE_AR := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)ar' @@ -331,6 +337,8 @@ MXE_UIC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)uic' MXE_LRELEASE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)lrelease' MXE_RCC := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)rcc' + + MXE_MKOCTFILE := '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)mkoctfile' endif ifeq ($(MXE_SYSTEM),mingw) @@ -578,6 +586,26 @@ fi endef +define OCTAVE_FORGE_PKG_COMPILE + if [ -d '$(1)/src' ]; then \ + if [ -f '$(1)/src/configure' ]; then \ + cd '$(1)/src' && ./configure $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ + $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) MKOCTFILE='$(MXE_MKOCTFILE)'\ + $(4); \ + fi; \ + if [ -f '$(1)/src/Makefile' ]; then \ + $(MAKE) -C '$(1)/src' MKOCTFILE='$(MXE_MKOCTFILE) --verbose'; \ + fi; \ + fi +endef + +define OCTAVE_FORGE_PKG_BUILD_NOCOMPILE + mkdir -p '$(3)$(HOST_PREFIX)/src' + cd '$(1)/..' \ + && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \ + && $(INSTALL) -m644 '$($(PKG)_FILE)' '$(3)$(HOST_PREFIX)/src' +endef + ifeq ($(MXE_SYSTEM),msvc) define OCTAVE_FORGE_PKG_BUILD $(INSTALL) -d '$(3)$(HOST_PREFIX)/local/octave-$(octave_VERSION)/share/octave' @@ -590,6 +618,9 @@ endef else define OCTAVE_FORGE_PKG_BUILD + if [ $(ENABLE_BINARY_PACKAGES) = yes ]; then \ + $(OCTAVE_FORGE_PKG_COMPILE); \ + fi mkdir -p '$(3)$(HOST_PREFIX)/src' cd '$(1)/..' \ && tar cvfz $($(PKG)_FILE) $($(PKG)_SUBDIR) \
--- a/configure.ac Thu Mar 19 07:46:36 2015 -0400 +++ b/configure.ac Thu Mar 19 14:03:28 2015 -0400 @@ -181,6 +181,13 @@ AC_SUBST(ENABLE_OCTAVE) +ENABLE_BINARY_PACKAGES=no +AC_ARG_ENABLE([binary-packages], + [AS_HELP_STRING([--enable-binary-packages], + [Enable creating binary octave forge packages])], + [if test "$enableval" = yes; then ENABLE_BINARY_PACKAGES=yes; fi], []) +AC_SUBST(ENABLE_BINARY_PACKAGES) + ### Default is to cross compile for mingw. echo $host_alias
--- a/src/default-octave.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/default-octave.mk Thu Mar 19 14:03:28 2015 -0400 @@ -91,6 +91,13 @@ $(PKG)_EXTRA_CONFIGURE_OPTIONS += --with-x=no endif +# if want binary packages and are cross compiling, then we need cross mkoctfile +ifeq ($(ENABLE_BINARY_PACKAGES),yes) + ifeq ($(MXE_NATIVE_BUILD),no) + $(PKG)_EXTRA_CONFIGURE_OPTIONS += --enable-cross-mkoctfile + endif +endif + define $(PKG)_UPDATE echo 'Warning: Updates are temporarily disabled for package octave.' >&2; echo $($(PKG)_VERSION) @@ -138,6 +145,8 @@ if [ "x$(MXE_SYSTEM)" == "xmingw" ]; then \ cp '$(1)/.build/src/.libs/octave-gui.exe' '$(3)$(HOST_BINDIR)'; \ + mkdir -p '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \ + $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)mkoctfile' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \ fi if [ "x$(ENABLE_DOCS)" == "xyes" ]; then \
--- a/src/of-communications.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-communications.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-control.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-control.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-dicom.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-dicom.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-fits.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-fits.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-fl-core.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-fl-core.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-image.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-image.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-linear-algebra.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-linear-algebra.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-ltfat.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-ltfat.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-miscellaneous.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-miscellaneous.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(call OCTAVE_FORGE_PKG_BUILD,$(1),$(2),$(3),UNITS_AVAILABLE=yes) endef
--- a/src/of-netcdf.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-netcdf.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef
--- a/src/of-odepkg.mk Thu Mar 19 07:46:36 2015 -0400 +++ b/src/of-odepkg.mk Thu Mar 19 14:03:28 2015 -0400 @@ -18,5 +18,5 @@ endef define $(PKG)_BUILD - $(OCTAVE_FORGE_PKG_BUILD) + $(OCTAVE_FORGE_PKG_BUILD_NOCOMPILE) endef