Mercurial > mxe-octave
view src/default-octave.mk @ 4654:b9e4ebcad82f
disable doc extraction for optim package
Disable the rules for extracting doc strings because they don't work
when cross compiling. Our patches to the source files don't touch the
doc strings, so there is no need to update them anyway.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 10 Apr 2018 07:50:10 -0400 |
parents | d0503b307fad |
children | 80461a9e516c |
line wrap: on
line source
# This file is part of MXE. # See index.html for further information. ## We omit the package checksum so that we don't have to update it ## each time the tarball changes on the hydra site. PKG := default-octave $(PKG)_IGNORE := $(PKG)_VERSION := 5.0.0 $(PKG)_CHECKSUM := ## No checksum $(PKG)_SUBDIR := octave-$($(PKG)_VERSION) $(PKG)_FILE := octave-$($(PKG)_VERSION).tar.gz $(PKG)_URL := https://hydra.nixos.org/job/gnu/octave-default/tarball/latest/download ifeq ($(USE_SYSTEM_FONTCONFIG),no) $(PKG)_FONTCONFIG := fontconfig endif $(PKG)_DEPS := blas arpack curl epstool fftw fltk $($(PKG)_FONTCONFIG) ghostscript gl2ps glpk gnuplot graphicsmagick hdf5 lapack libsndfile mesa pcre portaudio pstoedit qhull qrupdate qscintilla readline sundials-ida suitesparse texinfo zlib ifeq ($(ENABLE_QT5),yes) $(PKG)_DEPS += qt5 else $(PKG)_DEPS += qt endif ifeq ($(MXE_WINDOWS_BUILD),no) ifeq ($(USE_SYSTEM_X11_LIBS),no) $(PKG)_DEPS += x11 xext endif endif ifeq ($(MXE_SYSTEM),mingw) ifeq ($(USE_SYSTEM_GCC),no) $(PKG)_DEPS += libgomp endif endif ifeq ($(ENABLE_JIT),yes) $(PKG)_DEPS += llvm $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --enable-jit else $(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS := --disable-jit endif ifeq ($(ENABLE_JAVA),no) $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := --disable-java else ifeq ($(MXE_SYSTEM),mingw) ifeq ($(MXE_NATIVE_BUILD),no) $(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS := \ --with-java-includedir="$(HOST_INCDIR)/java" endif endif endif ## If we allow the system Qt libraries to be used, then these ## won't make sense. $(PKG)_QT_CONFIGURE_OPTIONS := \ MOC_QTVER=$(MXE_MOC) \ UIC_QTVER=$(MXE_UIC) \ RCC_QTVER=$(MXE_RCC) \ LRELEASE_QTVER=$(MXE_LRELEASE) ifeq ($(ENABLE_QT5),yes) #$(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig" $(PKG)_PKG_CONFIG_PATH := "$(HOST_PREFIX)/qt5/lib/pkgconfig:$(HOST_LIBDIR)/pkgconfig" $(PKG)_QTDIR := $(HOST_PREFIX)/qt5 $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt5" else $(PKG)_PKG_CONFIG_PATH := "$(HOST_LIBDIR)/pkgconfig" $(PKG)_QTDIR := $(HOST_PREFIX) $(PKG)_QT_CONFIGURE_OPTIONS += octave_cv_lib_qscintilla="-lqscintilla2_qt4" endif ifneq ($(ENABLE_DOCS),yes) $(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS := --disable-docs endif ifeq ($(MXE_NATIVE_BUILD),yes) $(PKG)_CONFIGURE_ENV := LD_LIBRARY_PATH=$(LD_LIBRARY_PATH) ifeq ($(ENABLE_64),yes) $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 else $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64 endif else ifeq ($(MXE_SYSTEM),mingw) $(PKG)_CROSS_CONFIG_OPTIONS := \ FLTK_CONFIG='$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)fltk-config' \ gl_cv_func_gettimeofday_clobber=no \ gl_cv_func_tzset_clobber=no ifeq ($(ENABLE_64),yes) $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --enable-64 else $(PKG)_ENABLE_64_CONFIGURE_OPTIONS := --disable-64 endif endif endif ifeq ($(ENABLE_FORTRAN_INT64),yes) $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := F77_INTEGER_8_FLAG=-fdefault-integer-8 ax_blas_f77_func_ok=yes ax_blas_integer_size=8 octave_cv_sizeof_fortran_integer=8 else $(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS := ax_blas_f77_func_ok=yes ax_blas_integer_size=4 octave_cv_sizeof_fortran_integer=4 endif ifeq ($(MXE_SYSTEM),msvc) $(PKG)_PREFIX := '$(HOST_PREFIX)/local/$($(PKG)_SUBDIR)' # - Enable atomic refcount (required for QtHandles) # - Skip configure test for pow and sqrt, MSVC fails to compile them # because it uses intrinsics (with -O2 flag) and bump on the fake # "char FUNC()" forward declaration. # - Override CFLAGS and CXXFLAGS to disable some warnings. $(PKG)_EXTRA_CONFIGURE_OPTIONS := \ --enable-atomic-refcount \ ac_cv_func_pow=yes ac_cv_func_sqrt=yes \ CFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' \ CXXFLAGS='-O2 -wd4244 -wd4003 -wd4005 -wd4068' else $(PKG)_PREFIX := '$(HOST_PREFIX)' $(PKG)_EXTRA_CONFIGURE_OPTIONS := \ LDFLAGS='-Wl,-rpath-link,$(HOST_LIBDIR) -L$(HOST_LIBDIR) -L$($(PKG)_QTDIR)/lib' endif ifeq ($(MXE_SYSTEM),mingw) $(PKG)_EXTRA_CONFIGURE_OPTIONS += --with-x=no endif ifeq ($(MXE_NATIVE_MINGW_BUILD),yes) $(PKG)_EXTRA_CONFIGURE_OPTIONS += ac_cv_search_tputs=-ltermcap endif # if want binary packages and are cross compiling, then we need cross tools enabled ifeq ($(ENABLE_BINARY_PACKAGES),yes) ifeq ($(MXE_NATIVE_BUILD),no) $(PKG)_EXTRA_CONFIGURE_OPTIONS += --enable-cross-tools endif endif define $(PKG)_UPDATE echo 'Warning: Updates are temporarily disabled for package octave.' >&2; echo $($(PKG)_VERSION) endef define $(PKG)_BUILD # jni install if [ "$(MXE_SYSTEM)" == "mingw" ] \ && [ "$(MXE_NATIVE_BUILD)" == "no" ] \ && [ "$(ENABLE_JAVA)" == "yes" ]; then \ if [ ! -f $(HOST_INCDIR)/java/jni.h ]; then \ mkdir -p '$(HOST_INCDIR)/java'; \ $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/share/javavm/export/jni.h \ -O $(HOST_INCDIR)/java/jni.h; \ fi; \ if [ ! -f $(HOST_INCDIR)/java/win32/jni_md.h ]; then \ mkdir -p '$(HOST_INCDIR)/java/win32'; \ $(WGET) -N http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/raw-file/tip/src/windows/javavm/export/jni_md.h \ -O $(HOST_INCDIR)/java/win32/jni_md.h; \ fi; \ fi mkdir '$(1)/.build' cd '$(1)/.build' && $($(PKG)_CONFIGURE_ENV) '$(1)/configure' \ $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \ $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ --prefix='$($(PKG)_PREFIX)' \ --disable-silent-rules \ --enable-install-build-logs \ $($(PKG)_CROSS_CONFIG_OPTIONS) \ $($(PKG)_ENABLE_64_CONFIGURE_OPTIONS) \ $($(PKG)_ENABLE_FORTRAN_INT64_CONFIGURE_OPTIONS) \ $($(PKG)_ENABLE_JAVA_CONFIGURE_OPTIONS) \ $($(PKG)_ENABLE_JIT_CONFIGURE_OPTIONS) \ $($(PKG)_ENABLE_DOCS_CONFIGURE_OPTIONS) \ $($(PKG)_QT_CONFIGURE_OPTIONS) \ $($(PKG)_EXTRA_CONFIGURE_OPTIONS) \ PKG_CONFIG='$(MXE_PKG_CONFIG)' \ PKG_CONFIG_PATH=$($(PKG)_PKG_CONFIG_PATH) \ && $(CONFIGURE_POST_HOOK) $(MAKE) -C '$(1)/.build/libgnu' ## We want both of these install steps so that we install in the ## location set by the configure --prefix option, and the other ## in a directory tree that will have just Octave files. $(MAKE) -C '$(1)/.build' -j '$(JOBS)' install DESTDIR='$(3)' if [ "x$(MXE_SYSTEM)" == "xmingw" ]; then \ cp '$(1)/.build/src/.libs/octave-gui.exe' '$(3)$(HOST_BINDIR)'; \ if [ "x$(ENABLE_BINARY_PACKAGES)" == "xyes" ]; then \ mkdir -p '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \ $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)mkoctfile' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \ $(INSTALL) '$(1)/.build/src/$(MXE_TOOL_PREFIX)octave-config' '$(3)$(BUILD_TOOLS_PREFIX)/bin'; \ fi; \ fi if [ "x$(ENABLE_DOCS)" == "xyes" ]; then \ $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(3) install-pdf install-html; \ fi if [ $(MXE_SYSTEM) != msvc ]; then \ $(MAKE) -C '$(1)/.build' -j '$(JOBS)' DESTDIR=$(TOP_BUILD_DIR)/octave install; \ fi # create a file with latest installed octave rev in it echo "$($(PKG)_VERSION)" > $(TOP_BUILD_DIR)/octave/octave-version endef