Mercurial > mxe-octave
view hg-octave-dist.mk @ 4467:b7d6a53fa46c
gcc: update to 7.1 with tools
* src/build-gcc.mk: update version 7.1.0
* src/cloog.mk: update 0.18.4
* src/gmp.mk: update 6.1.2
* src/isl.mk: update 0.16.1, add no-undefined flag
* src/mpfr.mk: update 3.1.6
* src/native-gcc.mk: update 7.1.0
* src/isl-1-fixes.patch: removed file
* dist-files.mk: remove reference to patch files, add mingw-w64 patch
* src/build-gcc-1-mingw-float.patch: removed patch
* src/native-gcc-1-mingw-float.patch: removed patch
* src/build-gcc-2-intrinsics.patch: removed patch
* src/native-gcc-2-intrinsics.patch: removed patch
* src/mingw-w64.mk: update to 5.0.2
* src/gcc-1-mingw-float.patch: remove patch
* src/gcc-2-darwin-no-pie.patch: remove patch
* src/mingw-w64-2-pthreads.patch: new file
* src/pthreads.mk: apply mingw patches to mingw sources before running configure
author | John D |
---|---|
date | Mon, 31 Jul 2017 16:53:21 -0400 |
parents | 8ec05e08aa22 |
children | 2a8b5cf2085c |
line wrap: on
line source
## Build and Octave tarball distribution from hg sources. The ## resulting tarball may then be used by the default-octave target to ## build. So the typical steps for building Octave from the mercurial ## sources are ## ## ./bootstrap ## ./configure --enable-octave=default ## make hg-octave-dist ## make ## ## The version number set in the mercurial sources for Octave must ## match the one used in src/default-octave.mk. ## ## We also install the resulting binary to run natively when ## building packages during a cross build. ## Set PATH, PKG_CONFIG_PATH, and LD_LIBRARY_PATH to the original ## values from the environment so that we avoid the tools that we've ## built for cross compiling. For these rules to work, you must have ## appropriate versions of the required tool installed outside of the ## mxe-octave build tree. Things like pkg-config and other tools that ## are built for mxe-octave may produce the wrong values for these ## steps, especially if we eventually intend to cross compile Octave. ## Rather than try to work around those issues, it seems simpler to ## just use the system tools for this job. HG_OCTAVE_DIST_ENV_FLAGS := \ PKG_CONFIG_PATH='$(ENV_PKG_CONFIG_PATH)' \ LD_LIBRARY_PATH='$(LD_LIBRARY_PATH)' \ PATH='$(ENV_PATH)' .PHONY: hg-octave-dist hg-octave-dist: $(BUILD_TOOLS) update-hg-octave-repo cd octave-hg-repo && \ rm -rf .build && \ mkdir .build && \ $(HG_OCTAVE_DIST_ENV_FLAGS) ./bootstrap && \ cd .build && \ $(HG_OCTAVE_DIST_ENV_FLAGS) ../configure --prefix=$(ROOT_PREFIX) && \ $(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' all && \ $(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' install && \ $(HG_OCTAVE_DIST_ENV_FLAGS) make -j '$(JOBS)' dist && \ mv '$(default-octave_FILE)' '$(PKG_DIR)' .PHONY: update-hg-octave-repo update-hg-octave-repo: if [ -d octave-hg-repo ]; then \ cd octave-hg-repo && hg pull -u; \ else \ hg clone http://octave.org/hg/octave octave-hg-repo; \ fi