Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
fengzch-das
multibuild
Commits
185dc6a3
Commit
185dc6a3
authored
Jan 29, 2018
by
Ivan Pozdeev
Browse files
Merge branch 'devel' into lift_branch_limitations
parents
8515fd4e
1632024d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
43 additions
and
24 deletions
+43
-24
.appveyor.yml
.appveyor.yml
+0
-0
README.rst
README.rst
+7
-4
configure_build.sh
configure_build.sh
+29
-0
docker_build_wrap.sh
docker_build_wrap.sh
+1
-0
library_builders.sh
library_builders.sh
+4
-16
tests/test_library_builders.sh
tests/test_library_builders.sh
+1
-0
travis_osx_steps.sh
travis_osx_steps.sh
+1
-0
travis_steps.sh
travis_steps.sh
+0
-4
No files found.
appveyor.yml
→
.
appveyor.yml
View file @
185dc6a3
File moved
README.rst
View file @
185dc6a3
...
...
@@ -50,6 +50,7 @@ functions and variables in earlier scripts:
* multibuild/common_utils.sh
* multibuild/osx_utils.sh
* env_vars.sh
* multibuild/configure_build.sh
* multibuild/library_builders.sh
* config.sh
...
...
@@ -80,6 +81,7 @@ following bash scripts:
* multibuild/common_utils.sh
* multibuild/manylinux_utils.sh
* env_vars.sh
* multibuild/configure_build.sh
* multibuild/library_builders.sh
* config.sh
...
...
@@ -321,10 +323,11 @@ To use these scripts
Optionally you can specify a different location for ``config.sh`` file with
the ``$CONFIG_PATH`` environment variable.
* Optionally, create an ``env_vars.sh`` file to set defaults for any build
environment variables used in ``library_builders.sh``. In Linux, they cannot
be just set in the global environment because the build runs in Docker, so
only the variables explicitly passed to ``docker run`` are propagated.
* Optionally, create an ``env_vars.sh`` file to override the defaults for any
environment variables used by ``configure_build.sh``/``library_builders.sh``.
In Linux, they cannot be just set in the initial environment because the
build runs in Docker, so only the variables explicitly passed to
``docker run`` are propagated.
Likewise, you can specify a different location for the file by setting the
the ``$ENV_VARS_PATH`` environment variable.
...
...
configure_build.sh
0 → 100644
View file @
185dc6a3
# Find, load common utilities
# Defines IS_OSX, fetch_unpack
MULTIBUILD_DIR
=
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
source
$MULTIBUILD_DIR
/common_utils.sh
# Only source configure_build once
if
[
-n
"
$CONFIGURE_BUILD_SOURCED
"
]
;
then
return
fi
CONFIGURE_BUILD_SOURCED
=
1
PLAT
=
"
${
PLAT
:x86_64
}
"
BUILD_PREFIX
=
"
${
BUILD_PREFIX
:-
/usr/local
}
"
# Default compilation flags for OSX
# IS_OSX is defined in common_utils.sh
if
[
-n
"
$IS_OSX
"
]
;
then
# Dual arch build by default
ARCH_FLAGS
=
${
ARCH_FLAGS
:-
"-arch i386 -arch x86_64"
}
# Only set CFLAGS, FFLAGS if they are not already defined. Build functions
# can override the arch flags by setting CFLAGS, FFLAGS
export
CFLAGS
=
"
${
CFLAGS
:-
$ARCH_FLAGS
}
"
export
CXXFLAGS
=
"
${
CXXFLAGS
:-
$ARCH_FLAGS
}
"
export
FFLAGS
=
"
${
FFLAGS
:-
$ARCH_FLAGS
}
"
fi
# Promote BUILD_PREFIX on search path to any newly built libs
export
CPPFLAGS
=
"-L
$BUILD_PREFIX
/include
$CPPFLAGS
"
export
LIBRARY_PATH
=
"
$BUILD_PREFIX
/lib:
$LIBRARY_PATH
"
docker_build_wrap.sh
View file @
185dc6a3
...
...
@@ -24,6 +24,7 @@ MULTIBUILD_DIR=$(dirname "${BASH_SOURCE[0]}")
# These routines also source common_utils.sh
source
$MULTIBUILD_DIR
/manylinux_utils.sh
if
[
-r
"
$ENV_VARS_PATH
"
]
;
then
source
"
$ENV_VARS_PATH
"
;
fi
source
$MULTIBUILD_DIR
/configure_build.sh
source
$MULTIBUILD_DIR
/library_builders.sh
if
[
"
$USE_CCACHE
"
==
"1"
]
;
then
...
...
library_builders.sh
View file @
185dc6a3
# Find, load common utilities
# Defines IS_OSX, fetch_unpack
#Functions and environment variables to build various
#native libraries commonly used as dependencies
MULTIBUILD_DIR
=
$(
dirname
"
${
BASH_SOURCE
[0]
}
"
)
source
$MULTIBUILD_DIR
/common_utils.sh
source
$MULTIBUILD_DIR
/_gfortran_utils.sh
source
$MULTIBUILD_DIR
/configure_build.sh
# For OpenBLAS
PLAT
=
"
${
PLAT
:x86_64
}
"
GF_LIB_URL
=
"https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com"
# Recipes for building some libraries
...
...
@@ -45,20 +45,8 @@ OPENSSL_HASH=ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c
OPENSSL_DOWNLOAD_URL
=
https://www.openssl.org/source
BUILD_PREFIX
=
"
${
BUILD_PREFIX
:-
/usr/local
}
"
ARCHIVE_SDIR
=
${
ARCHIVE_DIR
:-
archives
}
# Set default library compilation flags for OSX
# IS_OSX defined in common_utils.sh
if
[
-n
"
$IS_OSX
"
]
;
then
# Dual arch build by default
ARCH_FLAGS
=
${
ARCH_FLAGS
:-
"-arch i386 -arch x86_64"
}
# Only set CFLAGS, FFLAGS if they are not already defined. Build functions
# can override the arch flags by setting CFLAGS, FFLAGS
export
CFLAGS
=
"
${
CFLAGS
:-
$ARCH_FLAGS
}
"
export
CXXFLAGS
=
"
${
CXXFLAGS
:-
$ARCH_FLAGS
}
"
export
FFLAGS
=
"
${
FFLAGS
:-
$ARCH_FLAGS
}
"
fi
function
build_simple
{
# Example: build_simple libpng $LIBPNG_VERSION \
...
...
tests/test_library_builders.sh
View file @
185dc6a3
...
...
@@ -2,6 +2,7 @@
# Smoke test
export
BUILD_PREFIX
=
"
${
PWD
}
/builds"
rm_mkdir
$BUILD_PREFIX
source
configure_build.sh
source
library_builders.sh
start_spinner
...
...
travis_osx_steps.sh
View file @
185dc6a3
...
...
@@ -11,6 +11,7 @@ ENV_VARS_PATH=${ENV_VARS_PATH:-env_vars.sh}
# These load common_utils.sh
source
$MULTIBUILD_DIR
/osx_utils.sh
if
[
-r
"
$ENV_VARS_PATH
"
]
;
then
source
"
$ENV_VARS_PATH
"
;
fi
source
$MULTIBUILD_DIR
/configure_build.sh
source
$MULTIBUILD_DIR
/library_builders.sh
# NB - config.sh sourced at end of this function.
...
...
travis_steps.sh
View file @
185dc6a3
...
...
@@ -10,7 +10,3 @@ if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
else
source
$MULTIBUILD_DIR
/travis_linux_steps.sh
fi
# Promote BUILD_PREFIX on search path to any newly built libs
export
CPPFLAGS
=
"-L
$BUILD_PREFIX
/include
$CPPFLAGS
"
export
LIBRARY_PATH
=
"
$BUILD_PREFIX
/lib:
$LIBRARY_PATH
"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment