diff options
author | Lukas Larsson <[email protected]> | 2013-08-29 18:04:49 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2013-09-02 16:11:07 +0200 |
commit | 0ed2039a7bef0137c1c6723e0401f96b7bf71de3 (patch) | |
tree | 782c4835f4a4bccd356ecc0048d7afa4eb8d3449 | |
parent | 6fc94ba0b93488e46429dd4e71d11ebfe3b62792 (diff) | |
download | otp-0ed2039a7bef0137c1c6723e0401f96b7bf71de3.tar.gz otp-0ed2039a7bef0137c1c6723e0401f96b7bf71de3.tar.bz2 otp-0ed2039a7bef0137c1c6723e0401f96b7bf71de3.zip |
Add configure option --without-$app
This is used to skip the specified app when building and releasing
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | HOWTO/INSTALL.md | 6 | ||||
-rw-r--r-- | configure.in | 26 | ||||
-rw-r--r-- | lib/Makefile | 4 |
4 files changed, 32 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore index 7ccedd3ff3..9cd91245f5 100644 --- a/.gitignore +++ b/.gitignore @@ -150,6 +150,7 @@ JAVADOC-GENERATED /erts/epmd/test/Emakefile /lib/*/SKIP +/lib/SKIP-APPLICATIONS /lib/*/doc/html/*.html /lib/*/doc/html/*.css diff --git a/HOWTO/INSTALL.md b/HOWTO/INSTALL.md index fa1b9d2e89..5bde47e1f6 100644 --- a/HOWTO/INSTALL.md +++ b/HOWTO/INSTALL.md @@ -296,6 +296,12 @@ Some of the available `configure` options are: you can build using a fallback implementation based on mutexes or spinlocks. Performance of the SMP runtime system will however suffer immensely without an implementation for native atomic memory accesses. +* `--without-$app` - By default all applications in Erlang/OTP will be included + in a release. If this is not wanted it is possible to specify that Erlang/OTP + should be compiled without that applications, i.e. `--without-wx`. There is + no automatic dependency handling inbetween applications. So if you disable + an application that another depends on, you also have to disable the + dependant application. If you or your system has special requirements please read the `Makefile` for additional configuration information. diff --git a/configure.in b/configure.in index 4b3884864c..bcb0581e0d 100644 --- a/configure.in +++ b/configure.in @@ -390,6 +390,15 @@ if test X${enable_native_libs} = Xyes -a X${enable_hipe} != Xno; then fi AC_SUBST(NATIVE_LIBS_ENABLED) + +rm -f $ERL_TOP/lib/SKIP-APPLICATIONS +for app in `cd lib && ls -d *`; do + var="with_$app" + if test X${!var} == Xno; then + echo "$app" >> $ERL_TOP/lib/SKIP-APPLICATIONS + fi +done + export ERL_TOP AC_CONFIG_SUBDIRS(lib erts) @@ -400,15 +409,22 @@ AC_OUTPUT pattern="lib/*/SKIP" files=`echo $pattern` -if test "$files" != "$pattern"; then +if test "$files" != "$pattern" || test -f $ERL_TOP/lib/SKIP-APPLICATIONS; then echo '*********************************************************************' echo '********************** APPLICATIONS DISABLED **********************' echo '*********************************************************************' echo - for skipfile in $files; do - app=`dirname $skipfile`; app=`basename $app` - printf "%-15s: " $app; cat $skipfile - done + if test "$files" != "$pattern"; then + for skipfile in $files; do + app=`dirname $skipfile`; app=`basename $app` + printf "%-15s: " $app; cat $skipfile + done + fi + if test -f $ERL_TOP/lib/SKIP-APPLICATIONS; then + for skipapp in `cat $ERL_TOP/lib/SKIP-APPLICATIONS`; do + printf "%-15s: User gave --without-%s option\n" $skipapp $skipapp + done + fi echo echo '*********************************************************************' fi diff --git a/lib/Makefile b/lib/Makefile index 9ddf3a0544..71313170b0 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -52,6 +52,10 @@ else endif endif +# Any applications listed in SKIP-APPLICATIONS should be skipped +SKIP_FILE := $(wildcard SKIP-APPLICATIONS) +SKIP_APPLICATIONS := $(if $(SKIP_FILE),$(shell cat $(SKIP_FILE))) +SUB_DIRECTORIES := $(filter-out $(SKIP_APPLICATIONS),$(SUB_DIRECTORIES)) # ---------------------------------------------------------------------- include $(ERL_TOP)/make/otp_subdir.mk |