diff options
| author | Rickard Green <rickard@erlang.org> | 2021-05-19 16:00:59 +0200 |
|---|---|---|
| committer | Rickard Green <rickard@erlang.org> | 2021-05-19 16:00:59 +0200 |
| commit | ab141506e527e0f39b218a10a646051135565a69 (patch) | |
| tree | 7a933a715242a3ba91f41280eab49ff78f3439a6 | |
| parent | 583cba31eb09c14abd0b217fe7ac2e9a60425d51 (diff) | |
| parent | fc5cd2d20d430f13d3bc71a96112a685f09c7392 (diff) | |
| download | erlang-ab141506e527e0f39b218a10a646051135565a69.tar.gz | |
Merge 'rickard/configure/23/OTP-17398' into rickard/configure/24/OTP-17398
* rickard/configure/OTP-17398:
Support for committing of configure scripts
| -rw-r--r-- | .gitignore | 22 | ||||
| -rw-r--r-- | HOWTO/INSTALL-ANDROID.md | 6 | ||||
| -rw-r--r-- | HOWTO/INSTALL-RASPBERRYPI3.md | 1 | ||||
| -rw-r--r-- | HOWTO/INSTALL-WIN32-OLD.md | 28 | ||||
| -rw-r--r-- | HOWTO/INSTALL-WIN32.md | 23 | ||||
| -rw-r--r-- | HOWTO/INSTALL.md | 43 | ||||
| -rw-r--r-- | configure.src | 14 | ||||
| -rw-r--r-- | erts/.gitignore | 2 | ||||
| -rw-r--r-- | lib/megaco/.gitignore | 1 | ||||
| -rwxr-xr-x | otp_build | 156 |
10 files changed, 147 insertions, 149 deletions
diff --git a/.gitignore b/.gitignore index 06c554353a..e90bf591f3 100644 --- a/.gitignore +++ b/.gitignore @@ -147,7 +147,6 @@ JAVADOC-GENERATED /bootstrap/lib/xmerl /Makefile -/configure /release @@ -206,29 +205,12 @@ JAVADOC-GENERATED # Files generated by "./otp_build autoconf" # -/lib/configure -/lib/*/configure -/lib/common_test/test_server/configure /lib/configure.in /make/aclocal.m4 -/make/configure -/lib/common_test/priv/auxdir/config.guess -/lib/common_test/priv/auxdir/config.sub -/lib/common_test/priv/auxdir/install-sh /lib/erl_interface/aclocal.m4 -/lib/erl_interface/src/auxdir/config.guess -/lib/erl_interface/src/auxdir/config.sub -/lib/erl_interface/src/auxdir/install-sh -/lib/erl_interface/config.h.in /lib/megaco/aclocal.m4 /lib/odbc/aclocal.m4 -/lib/common_test/test_server/config.guess -/lib/common_test/test_server/config.sub -/lib/common_test/test_server/install-sh /lib/wx/aclocal.m4 -/lib/wx/autoconf/config.guess -/lib/wx/autoconf/config.sub -/lib/wx/autoconf/install-sh /lib/crypto/aclocal.m4 # @@ -393,10 +375,6 @@ JAVADOC-GENERATED /system/doc/xml /system/doc/top/PR.template -# test_server - -/lib/test_server/src/configure - # tools /lib/tools/src/xref_parser.erl diff --git a/HOWTO/INSTALL-ANDROID.md b/HOWTO/INSTALL-ANDROID.md index 7d5af0b0ec..ccf9ff700e 100644 --- a/HOWTO/INSTALL-ANDROID.md +++ b/HOWTO/INSTALL-ANDROID.md @@ -21,12 +21,6 @@ https://developer.android.com/ndk ### Configure Erlang/OTP ### -If you are building Erlang/OTP from git, you will need to run this -to generate the configure scripts. - - $ ./otp_build autoconf - - Use the following commands when compiling a 64-bit version. $ export NDK_ABI_PLAT=android21 # When targeting Android 5.0 Lollipop diff --git a/HOWTO/INSTALL-RASPBERRYPI3.md b/HOWTO/INSTALL-RASPBERRYPI3.md index b9cffbe0c5..810195c63a 100644 --- a/HOWTO/INSTALL-RASPBERRYPI3.md +++ b/HOWTO/INSTALL-RASPBERRYPI3.md @@ -322,7 +322,6 @@ Uncheck option: (25) - $ LC_CTYPE=C && LANG=C && ./otp_build autoconf $ ./otp_build configure --xcomp-conf=./xcomp/erl-xcomp-armv8-rpi3-linux-gnueabihf.conf $ ./otp_build boot -a $ ./otp_build release -a /Volumes/xtools-build-env/otp_22.0 diff --git a/HOWTO/INSTALL-WIN32-OLD.md b/HOWTO/INSTALL-WIN32-OLD.md index 7e75d847e7..4722771202 100644 --- a/HOWTO/INSTALL-WIN32-OLD.md +++ b/HOWTO/INSTALL-WIN32-OLD.md @@ -25,7 +25,7 @@ OpenSSL, in which case you will need to go back to earlier compilers etc. The procedure described uses either Cygwin, MSYS or MSYS2 as a build environment. You run the bash shell in Cygwin/MSYS/MSYS2 and use the gnu -make/configure/autoconf etc to do the build. The emulator C-source code +configure/make etc to do the build. The emulator C-source code is, however, mostly compiled with Microsoft Visual C++™, producing a native Windows binary. This is the same procedure as we use to build the pre-built binaries. Why we use VC++ and not gcc is explained further in @@ -107,7 +107,6 @@ This is the short story though, for the experienced and impatient: the last row): $ eval `./otp_build env_win32 x64` - $ ./otp_build autoconf $ ./otp_build configure $ ./otp_build boot -a $ ./otp_build release -a @@ -312,8 +311,7 @@ tools: URL: <http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/> - Make sure to install the basic dev tools, but avoid the MinGW autoconf and - install the msys one instead. + Make sure to install the basic dev tools. To be able to build the 64bit VM, you will also need the 64bit MinGW compiler from: @@ -330,10 +328,10 @@ tools: URL: <https://msys2.github.io/> When you've followed the instructions there, you also need to install - these packages: autoconf, make, perl, and tar. You do so by running + these packages: make, perl, and tar. You do so by running the following in the msys console: - pacman -S msys/autoconf msys/make msys/perl msys/tar + pacman -S msys/make msys/perl msys/tar You also need a gcc. If you installed the 64 bit MSYS2 you run: @@ -708,7 +706,6 @@ Building and Installing Building is easiest using the `otp_build` script: - $ ./otp_build autoconf # Ignore the warning blob about versions of autoconf $ ./otp_build configure <optional configure options> $ ./otp_build boot -a $ ./otp_build release -a <installation directory> @@ -719,16 +716,7 @@ in the `<installation directory>`, i.e. `$ERL_TOP/release/win32`. Lets get into more detail: -1. `$ ./otp_build autoconf` - This step rebuilds the configure scripts - to work correctly in your environment. In an ideal world, this - would not be needed, but alas, we have encountered several - incompatibilities between our distributed configure scripts (generated - on a Linux platform) and the Cygwin/MSYS/MSYS2 environment over the - years. Running autoconf in Cygwin/MSYS/MSYS2 ensures that the configure - scripts are generated in a compatible way and that they will work well - in the next step. - -2. `$ ./otp_build configure` - This runs the newly generated configure +1. `$ ./otp_build configure` - This runs the newly generated configure scripts with options making configure behave nicely. The target machine type is plainly `win32`, so a lot of the configure-scripts recognize this awkward target name and behave accordingly. The CC variable also @@ -737,17 +725,17 @@ Lets get into more detail: the tests are not needed on Windows, but we thought it best to run the whole configure anyway. -3. `$ ./otp_build boot -a` - This uses the bootstrap directory (shipped +2. `$ ./otp_build boot -a` - This uses the bootstrap directory (shipped with the source, `$ERL_TOP/bootstrap`) to build a complete OTP system. When this is done you can run erl from within the source tree; just type `$ERL_TOP/bin/erl` and you whould have the prompt. -4. `$ ./otp_build release -a` - Builds a commercial release tree from the +3. `$ ./otp_build release -a` - Builds a commercial release tree from the source tree. The default is to put it in `$ERL_TOP/release/win32`. You can give any directory as parameter (Cygwin style), but it doesn't really matter if you're going to build a self extracting installer too. -5. `$ ./otp_build installer_win32` - Creates the self extracting installer executable. +4. `$ ./otp_build installer_win32` - Creates the self extracting installer executable. The executable `otp_win32_%OTP-REL%.exe` or `otp_win64_%OTP-REL%.exe` will be placed in the top directory of the release created in the previous step. If no release directory is specified, the release is expected to have diff --git a/HOWTO/INSTALL-WIN32.md b/HOWTO/INSTALL-WIN32.md index 04d25e9343..523c2fe4ba 100644 --- a/HOWTO/INSTALL-WIN32.md +++ b/HOWTO/INSTALL-WIN32.md @@ -13,7 +13,7 @@ The instructions apply to Windows 10 (v.1809 and later) supporting the WSL.1 (Windows Subsystem for Linux v.1) and using Ubuntu 18.04 release. The procedure described uses WSL as a build environment. You run the -bash shell in WSL and use the gnu make/configure/autoconf etc to do +bash shell in WSL and use the gnu configure/make etc to do the build. The emulator C-source code is, however, mostly compiled with Microsoft Visual C++™, producing a native Windows binary. This is the same procedure as we use to build the pre-built binaries. Why we @@ -68,7 +68,7 @@ This is the short story though, for the experienced and impatient: <http://www.erlang.org/download.html>) and unpack with `tar` to the windows disk for example to: /mnt/c/src/ - * Install mingw-gcc, make and autoconf: `sudo apt install g++-mingw-w64 gcc-mingw-w64 make autoconf` + * Install mingw-gcc, and make: `sudo apt install g++-mingw-w64 gcc-mingw-w64 make` * `$ cd UNPACK_DIR` @@ -79,7 +79,6 @@ This is the short story though, for the experienced and impatient: the last row): $ eval `./otp_build env_win32 x64` - $ ./otp_build autoconf $ ./otp_build configure $ ./otp_build boot -a $ ./otp_build release -a @@ -227,7 +226,6 @@ Building and Installing Building is easiest using the `otp_build` script: - $ ./otp_build autoconf # Ignore the warning blob about versions of autoconf $ ./otp_build configure <optional configure options> $ ./otp_build boot -a $ ./otp_build release -a <installation directory> @@ -238,16 +236,7 @@ in the `<installation directory>`, i.e. `$ERL_TOP/release/win32`. Lets get into more detail: -1. `$ ./otp_build autoconf` - This step rebuilds the configure scripts - to work correctly in your environment. In an ideal world, this - would not be needed, but alas, we have encountered several - incompatibilities between our distributed configure scripts (generated - on a Linux platform) and the Cygwin/MSYS/MSYS2/WSL environment over the - years. Running autoconf in WSL ensures that the configure - scripts are generated in a compatible way and that they will work well - in the next step. - -2. `$ ./otp_build configure` - This runs the newly generated configure +1. `$ ./otp_build configure` - This runs the newly generated configure scripts with options making configure behave nicely. The target machine type is plainly `win32`, so a lot of the configure-scripts recognize this awkward target name and behave accordingly. The CC variable also @@ -256,17 +245,17 @@ Lets get into more detail: the tests are not needed on Windows, but we thought it best to run the whole configure anyway. -3. `$ ./otp_build boot -a` - This uses the bootstrap directory (shipped +2. `$ ./otp_build boot -a` - This uses the bootstrap directory (shipped with the source, `$ERL_TOP/bootstrap`) to build a complete OTP system. When this is done you can run erl from within the source tree; just type `$ERL_TOP/bin/erl` and you should have the prompt. -4. `$ ./otp_build release -a` - Builds a commercial release tree from the +3. `$ ./otp_build release -a` - Builds a commercial release tree from the source tree. The default is to put it in `$ERL_TOP/release/win32`. You can give any directory as parameter, but it doesn't really matter if you're going to build a self extracting installer too. -5. `$ ./otp_build installer_win32` - Creates the self extracting installer executable. +4. `$ ./otp_build installer_win32` - Creates the self extracting installer executable. The executable `otp_win32_%OTP-REL%.exe` or `otp_win64_%OTP-REL%.exe` will be placed in the top directory of the release created in the previous step. If no release directory is specified, the release is expected to have diff --git a/HOWTO/INSTALL.md b/HOWTO/INSTALL.md index f1027dfe4d..1351e46d96 100644 --- a/HOWTO/INSTALL.md +++ b/HOWTO/INSTALL.md @@ -28,7 +28,6 @@ These are the tools you need in order to unpack and build Erlang/OTP. * GNU `make` * Compiler -- GNU C Compiler, `gcc` or the C compiler frontend for LLVM, `clang`. * Perl 5 -* GNU `m4` * `ncurses`, `termcap`, or `termlib` -- The development headers and libraries are needed, often known as `ncurses-devel`. Use `--without-termcap` to build without any of these libraries. Note that @@ -37,8 +36,7 @@ These are the tools you need in order to unpack and build Erlang/OTP. #### Building in Git #### -* GNU `autoconf` of at least version 2.59. Note that `autoconf` is not - needed when building an unmodified version of the released source. +Build the same way as when building the unpacked tar file. #### Building on OS X #### @@ -109,9 +107,7 @@ The following instructions are for building [the released source tar ball][]. The variable `$ERL_TOP` will be mentioned a lot of times. It refers to the top directory in the source tree. More information about `$ERL_TOP` -can be found in the [make and $ERL_TOP][] section below. If you are -building in git you probably want to take a look at the [Building in Git][] -section below before proceeding. +can be found in the [make and $ERL_TOP][] section below. ### Unpacking ### @@ -131,9 +127,6 @@ Run the following commands to configure the build: $ ./configure [ options ] -> *NOTE*: If you are building Erlang/OTP from git you will need to run `./otp_build autoconf` to generate -> the configure scripts. - By default, Erlang/OTP release will be installed in `/usr/local/{bin,lib/erlang}`. If you for instance don't have the permission to install in the standard location, you can install Erlang/OTP somewhere else. For example, to install in @@ -433,6 +426,17 @@ Some of the available `configure` options are: If you or your system has special requirements please read the `Makefile` for additional configuration information. +#### Updating configure scripts #### + +Generated `configure` scripts are nowadays included in the git repository. + +If you modify any `configure.in` files or the `erts/aclocal.m4` file, you need +to regenerate `configure` scripts before the changes will take effect. First +ensure that you have GNU `autoconf` of version 2.69 in your path. Then execute +`./otp_build update_configure [--no-commit]` in the `$ERL_TOP` directory. The +`otp_build` script will verify that `autoconf` is of correct version and will +refuse to update the `configure` scripts if it is of any other version. + #### Atomic Memory Operations and the VM #### The VM with SMP support makes quite a heavy use of atomic memory operations. @@ -481,26 +485,13 @@ If you've upgraded the source with a patch you may need to clean up from previou builds before the new build. Make sure to read the [Pre-built Source Release][] section below before doing a `make clean`. -#### Within Git #### - -When building in a Git working directory you also have to have a GNU `autoconf` -of at least version 2.59 on your system, because you need to generate the -`configure` scripts before you can start building. - -The `configure` scripts are generated by invoking `./otp_build autoconf` in -the `$ERL_TOP` directory. The `configure` scripts also have to be regenerated -when a `configure.in` or `aclocal.m4` file has been modified. Note that when -checking out a branch a `configure.in` or `aclocal.m4` file may change -content, and you may therefore have to regenerate the `configure` scripts -when checking out a branch. Regenerated `configure` scripts imply that you -have to run `configure` and build again. - -> *NOTE*: Running `./otp_build autoconf` is **not** needed when building -> an unmodified version of the released source. - Other useful information can be found at our GitHub wiki: * <https://github.com/erlang/otp/wiki> +#### Within Git #### + +Build the same way as when building the unpacked tar file. + #### OS X (Darwin) #### Make sure that the command `hostname` returns a valid fully qualified host diff --git a/configure.src b/configure.src index c0a195b147..92c9031ff7 100644 --- a/configure.src +++ b/configure.src @@ -2,7 +2,7 @@ # # %CopyrightBegin% # -# Copyright Ericsson AB 2018. All Rights Reserved. +# Copyright Ericsson AB 2018-2021. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,6 +18,12 @@ # # %CopyrightEnd% # +# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +# WARNING! +# DO NOT EDIT the 'configure' file which is automatically generated from +# 'configure.src'! In order to update 'configure' edit 'configure.src' and +# execute './otp_build update_configure [--no-commit]'. +# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # # This is a handcrafted wrapper script which runs the actual (autoconf) # 'configure' scripts in different parts of OTP. @@ -31,8 +37,6 @@ # otherwise takes forever to run configure... # -OTP_VERSION=@OTP_VERSION@ - unset CDPATH default_cflags="-g -O2" @@ -187,7 +191,7 @@ fi # root_dir= -dir_chk_data="$OTP_VERSION" +dir_chk_data=`date` if root_dir=`dirname "$0" 2>/dev/null` \ && test "$root_dir" != "" \ @@ -198,7 +202,7 @@ if root_dir=`dirname "$0" 2>/dev/null` \ else case "$root_dir" in /*) - echo $dir_chk_data > "$root_dir"/config.dir.check.$$ 2>/dev/null + echo "$dir_chk_data" > "$root_dir"/config.dir.check.$$ 2>/dev/null ;; *) root_dir= diff --git a/erts/.gitignore b/erts/.gitignore index 6631fc883e..cc6c270df4 100644 --- a/erts/.gitignore +++ b/erts/.gitignore @@ -1,8 +1,6 @@ /Makefile -/configure /config.log /config.status -/config.h.in /start_scripts/RELEASES.src /start_scripts/*.rel diff --git a/lib/megaco/.gitignore b/lib/megaco/.gitignore index 3e64dc20f5..82eaaf954d 100644 --- a/lib/megaco/.gitignore +++ b/lib/megaco/.gitignore @@ -1,5 +1,4 @@ # Files generated by configure. -/configure /config.log /config.status @@ -19,6 +19,16 @@ # %CopyrightEnd% # +USE_AUTOCONF_VERSION=2.69 + +aclocal_dirs="make ./lib/crypto ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" +autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + +aclocal_master="./erts/aclocal.m4" +install_sh_master="./erts/autoconf/install-sh" +config_guess_master="./erts/autoconf/config.guess" +config_sub_master="./erts/autoconf/config.sub" + # Global configuration variables # if [ -z "$ONLY_ERTS" ]; then @@ -73,6 +83,7 @@ usage () echo "update_primary [--no-commit] - build and maybe commit a new primary bootstrap" echo "update_preloaded [--no-commit] - build and maybe commit the preloaded modules" echo "update_deprecations [--no-commit] - build and maybe commit deprecations" + echo "update_configure [--no-commit] - build and maybe commit configure scripts" } hide_vars () @@ -182,67 +193,102 @@ set_config_flags () NL="\ " -distribute_config_helpers () +do_update_configure () { - aclocal_dirs="make ./lib/crypto ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" - autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" - - aclocal_master="./erts/aclocal.m4" - install_sh_master="./erts/autoconf/install-sh" - config_guess_master="./erts/autoconf/config.guess" - config_sub_master="./erts/autoconf/config.sub" + get_do_commit $1 + + ac_ver_blob=`autoconf --version` + if [ $? -ne 0 ]; then + echo "ERROR: Failed to check autoconf version! You need to have autoconf of version $USE_AUTOCONF_VERSION in path." 1>&2 + exit 1 + fi + ac_ver=`echo $ac_ver_blob | sed "s|[^0-9]*\([0-9][^ \t\n]*\).*|\1|"` + case $ac_ver in + $USE_AUTOCONF_VERSION) + ;; + *) + echo "ERROR: autoconf of version $ac_ver found in path! You need to have autoconf of version $USE_AUTOCONF_VERSION in path." 1>&2 + exit 1;; + esac + + out_files= for dir in $aclocal_dirs; do $install_sh_master -m 644 -t "$dir" "$aclocal_master" done + install_sh=`basename $install_sh_master` + config_guess=`basename $config_guess_master` + config_sub=`basename $config_sub_master` + for dir in $autoconf_aux_dirs; do $install_sh_master -d "$dir" $install_sh_master -t "$dir" "$install_sh_master" + out_files="$out_files $dir/$install_sh" $install_sh_master -t "$dir" "$config_guess_master" + out_files="$out_files $dir/$config_guess" $install_sh_master -t "$dir" "$config_sub_master" + out_files="$out_files $dir/$config_sub" done -} - -do_autoconf () -{ - distribute_config_helpers - hide_vars OVERRIDE_TARGET TARGET - TARGET=$BUILDSYS - export TARGET - - for d in $AUTOCONF_SUBDIRS; do - file="$d/configure.in" - [ -f "$file" ] || continue - echo "" - [ ! -d "$d/autom4te.cache" ] || { - echo "=== cleaning $d/autom4te.cache" - rm -f "$d"/autom4te.cache/* - } - [ ! -f "$d/configure" ] || { - echo "=== cleaning $d/configure" - rm -f "$d"/configure - } - - echo "=== running autoconf in $d" - ( cd "$d" && autoconf ) || exit 1 - chdr=`cat "$file" | sed -n "s|.*\(AC_CONFIG_HEADER\).*|\1|p"` - [ "$chdr" = "AC_CONFIG_HEADER" ] || continue - echo "=== running autoheader in $d" - ( cd "$d" && autoheader ) || exit 1 - done + hide_vars OVERRIDE_TARGET TARGET + TARGET=$BUILDSYS + export TARGET + for d in $AUTOCONF_SUBDIRS; do + file="$d/configure.in" + [ -f "$file" ] || continue echo "" - echo "=== creating ./configure" - otp_version=`cat "$ERL_TOP/OTP_VERSION"` - bootstrap_lib_apps=`echo $bootstrap_apps | sed "s|erts||g"` - cat "$ERL_TOP/configure.src" \ - | sed "s|@OTP_VERSION@|$otp_version|g;s|@BOOTSTRAP_LIB_APP_DIRS@|$bootstrap_lib_apps|" \ - > "$ERL_TOP/configure" - chmod +x "$ERL_TOP/configure" - - restore_vars OVERRIDE_TARGET TARGET + [ ! -d "$d/autom4te.cache" ] || { + echo "=== cleaning $d/autom4te.cache" + rm -f "$d"/autom4te.cache/* + } + [ ! -f "$d/configure" ] || { + echo "=== cleaning $d/configure" + rm -f "$d"/configure + } + + echo "=== running autoconf in $d" + ( cd "$d" && autoconf ) || exit 1 + out_files="$out_files $d/configure" + chdr=`cat "$file" | sed -n "s|.*\(AC_CONFIG_HEADER\).*|\1|p"` + [ "$chdr" = "AC_CONFIG_HEADER" ] || continue + echo "=== running autoheader in $d" + ( cd "$d" && autoheader ) || exit 1 + out_files="$out_files $d/config.h.in" + done + + echo "" + echo "=== creating ./configure" + bootstrap_lib_apps=`echo $bootstrap_apps | sed "s|erts||g"` + cat "$ERL_TOP/configure.src" \ + | sed "s|@BOOTSTRAP_LIB_APP_DIRS@|$bootstrap_lib_apps|g" \ + > "$ERL_TOP/configure" + chmod +x "$ERL_TOP/configure" + out_files="./configure $out_files" + + restore_vars OVERRIDE_TARGET TARGET + + if [ $do_commit != true ]; then + echo "Updated: $out_files" + else + git add $out_files + if [ $? -ne 0 ]; then + echo "Failed to stage files for commit" 1>&2 + exit 1 + fi + git diff --cached --quiet + if [ $? -eq 0 ]; then + echo "No files changed, so nothing to commit." + else + git commit --no-verify -m 'Update configure scripts' + if [ $? -ne 0 ]; then + echo "Failed to commit files" 1>&2 + exit 1 + fi + echo "Updated configure scripts!" + fi + fi } run_configure () @@ -1143,7 +1189,6 @@ export OTP_SMALL_BUILD OTP_TINY_BUILD TYPE= case "$1" in all) - do_autoconf; do_configure; do_boot; if [ $minus_x_flag = true ]; then @@ -1155,11 +1200,22 @@ case "$1" in if [ $minus_x_flag = true ]; then shift fi; - do_autoconf; do_configure "$@"; do_boot;; autoconf) - do_autoconf;; + echo "" + echo "*** It is not necessary to execute './otp_build autoconf' anymore! ***" + echo "" + echo "All configure scripts have been committed in the repository and are" + echo "therefore always available. If you need to update them, execute" + echo "'./otp_build update_configure [--no-commit]'. Ensure that you have" + echo "autoconf version $USE_AUTOCONF_VERSION in your PATH before updating the configure" + echo "scritps." + echo "" + echo "The only effect of executing './otp_build autoconf' is printing of this" + echo "message." + echo "" + exit 0;; configure) shift; do_configure "$@";; @@ -1171,6 +1227,8 @@ case "$1" in fi; FLAVOR=$1 do_boot;; + update_configure) + do_update_configure "$2";; update_deprecations) do_deprecations_git "$2";; update_primary) |
