Re: Updates to ./configure(.ac)
FTR: For the changes I proposed, I'd do the work. I don't propose things unless I'm willing and able to roll up my sleeves and do 'em ;) > On Dec 9, 2020, at 5:03 PM, Don Lewis wrote: > > On 9 Dec, Jim Jagielski wrote: >> >> >>> On Dec 9, 2020, at 9:56 AM, Mechtilde wrote: >>> >>> Hello Jim, >>> So I was thinking we just have these 3: --with-epm --with-dmake --with-beanshell >>> >>> I want to differ whether we build with system version or with separate >>> version like in ext_sources. >> >> Can you provide an example? >> >> For example, say we want to use the system version of dmake... We could do >> either >> >> --with-dmake >> >> which would look in the user's $PATH for dmake and use that one; or they >> could do >> >> --with-dmake=/opt/local/bin/dmake >> >> which would use the system version located in /opt/local/bin >> >> If instead, one used: >> >> >> --with-dmake=https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz >> >> It would download that distro and build and not use any local/system >> versions. >> >> Does that make it more clear? > > For dmake, we always need it, so --without-dmake would neve make sense. > For the path vs. url cases, we would need to add code to parse the > argument to decide whether we need need to do a download and build and > point the path at the result of the build, or whether we can just use > the argument as a full path. In addition to https, the URL could > theoretically be ftp or a local file. This touches both configure and > bootstrap. > > I haven't looked at the beanshell stuff enough to comment. > > > > > > - > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > For additional commands, e-mail: dev-h...@openoffice.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org
Re: Updates to ./configure(.ac)
On 9 Dec, Jim Jagielski wrote: > > >> On Dec 9, 2020, at 9:56 AM, Mechtilde wrote: >> >> Hello Jim, >> >>> >>> So I was thinking we just have these 3: >>> >>> --with-epm >>> --with-dmake >>> --with-beanshell >> >> I want to differ whether we build with system version or with separate >> version like in ext_sources. > > Can you provide an example? > > For example, say we want to use the system version of dmake... We could do > either > > --with-dmake > > which would look in the user's $PATH for dmake and use that one; or they > could do > > --with-dmake=/opt/local/bin/dmake > > which would use the system version located in /opt/local/bin > > If instead, one used: > > > --with-dmake=https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz > > It would download that distro and build and not use any local/system versions. > > Does that make it more clear? For dmake, we always need it, so --without-dmake would neve make sense. For the path vs. url cases, we would need to add code to parse the argument to decide whether we need need to do a download and build and point the path at the result of the build, or whether we can just use the argument as a full path. In addition to https, the URL could theoretically be ftp or a local file. This touches both configure and bootstrap. I haven't looked at the beanshell stuff enough to comment. - To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org
Re: Updates to ./configure(.ac)
Hello Jim, all, On Wed, Dec 09, 2020 at 10:22:51AM -0500, Jim Jagielski wrote: > > On Dec 9, 2020, at 10:17 AM, Matthias Seidel > > wrote: > > > > Hi Jim, > > > > Am 09.12.20 um 15:29 schrieb Jim Jagielski: > >> Now that I'm thinking about the configure script, I have to admit > >> that some things really look like they could/should be fixed. [...] > > So ''--with-dmake-path" and "--with-dmake-url" would be combined to 1: > --with-dmake > > "--with-epm" and "--with-epm-url" would be combined to 1: --with-epm > > "*-beanshell*" would be combined to 1: --with-beanshell This all looks good to me. I was also a bit confused when I had to sort out the correct parameters to use in the build scripts and I found them to be similar but not equal. I personally do not have the "shell-fu" or "autoconf-fu" abilities to distinguish between a zero-sized value, a path and an URL; so if _I_ were assigned to do this, I would keep two alternative parameters for each program: --with-x-path=/path/on/filesystem --with-x-url=http://etcetera with the default behavior being "assume x is in $PATH". IMHO this would not be confusing, but rather more explicit. These are just my two cents, of course. I am trying to attach a patch to: 1- automatically detect epm and dmake in centos 7 x86_64 build (so you get my idea), 2- create a build script for openSUSE x86_64, that is 99% the same as CentOS 7 but with a different Java path. If you approve the ``philosophy'' I can apply it to the other scripts as well. If the attachment gets stripped by the mailing list, I will send it to you privately. Regards, -- rigo http://rigo.altervista.org Index: 4.2.0-Dev3/unxlngix6/build_aoo64bit_on_centos7.sh === --- 4.2.0-Dev3/unxlngix6/build_aoo64bit_on_centos7.sh (revision 1884265) +++ 4.2.0-Dev3/unxlngix6/build_aoo64bit_on_centos7.sh (working copy) @@ -55,6 +55,16 @@ fi if [ "$AOO_SKIP_CONFIG" != "yes" ]; then +if [ -e /usr/local/bin/epm ]; then +epm_param="--with-epm=/usr/local/bin/epm" +else +epm_param="--with-epm-url=https://github.com/jimjag/epm/archive/v5.0.0/epm-5.0.0.tar.gz"; +fi +if [ -e /usr/local/bin/dmake ]; then +dmake_param="--with-dmake-path=/usr/local/bin/dmake" +else +dmake_param="--with-dmake-url=https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz"; +fi ( ./configure \ --with-build-version="$(date +"%Y-%m-%d %H:%M:%S (%a, %d %b %Y)") - `uname -sm`${AOO_BUILD_VERSION}" \ ${AOO_VERBOSE_BUILD} \ @@ -73,8 +83,8 @@ --with-jdk-home=/usr/lib/jvm/java-1.7.0-openjdk \ --with-package-format="rpm deb" \ --with-lang="${LANGS}" \ - --with-epm=/usr/local/bin/epm \ - --with-dmake-path=/usr/local/bin/dmake \ + $epm_param \ + $dmake_param \ | tee config.out ) || exit 1 fi Index: 4.2.0-Dev3/unxlngix6/build_aoo64bit_on_opensuseleap15.sh === --- 4.2.0-Dev3/unxlngix6/build_aoo64bit_on_opensuseleap15.sh (nonexistent) +++ 4.2.0-Dev3/unxlngix6/build_aoo64bit_on_opensuseleap15.sh (working copy) @@ -0,0 +1,113 @@ +#!/usr/bin/env bash +# +# Installed in /usr/local: +# o dmake 4.13.1 (https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz) +# o epm 5.0.0 (https://github.com/jimjag/epm/archive/v5.0.0/epm-5.0.0.tar.gz) + +set -eo pipefail + +# +# Parse options +# +AOO_SKIP_CONFIG= +AOO_JUST_CONFIG= +AOO_VERBOSE_BUILD= +AOO_BUILD_TYPE= +AOO_BUILD_VERSION= +AOO_BUILD_BETA= +AOO_BUILD_DEV= +AOO_BUILD_SRC= + +while true; do + case "$1" in +"--verbose" ) AOO_VERBOSE_BUILD="--enable-verbose"; shift ;; +"--skip-config" ) AOO_SKIP_CONFIG="yes"; shift ;; +"--just-config" ) AOO_JUST_CONFIG="yes"; shift ;; + "--build-src" ) AOO_BUILD_SRC="yes"; shift ;; +"--dev" ) AOO_BUILD_TYPE="Apache OpenOffice Test Development Build"; AOO_BUILD_VERSION=" [${AOO_BUILD_TYPE}]"; AOO_BUILD_DEV="yes"; AOO_BUILD_BETA=""; shift ;; +"--beta" ) AOO_BUILD_TYPE="Apache OpenOffice Beta Build"; AOO_BUILD_VERSION=" [${AOO_BUILD_TYPE}]"; AOO_BUILD_BETA="yes"; AOO_BUILD_DEV=""; shift ;; +"--" ) shift; break ;; +"" ) break ;; +* ) echo "unknown option: $1"; shift ;; + esac +done + +if [ ! -d ../main -o ! -d sal ] ; then + echo "CHDIR into AOO's main/ directory first!" + exit 1 +fi + +if [ ! -e external/unowinreg/unowinreg.dll ] ; then + echo "Downloading unowinreg.dll..." +wget -O external/unowinreg/unowinreg.dll http://www.openoffice.org/tools/unowinreg_prebuild/680/unowinreg.dll +fi + +LANGS="ast bg ca ca-XR ca-XV cs da de el en-GB en-US es et eu fi fr gd gl he hi hu hy it ja kab km ko lt nb nl om pl pt pt-BR ru sk sl sr sv ta th tr uk vi zh-CN zh-TW" + +if [ -e configure.in ]; then +AOO_CONF_T="configure.in" +else +AOO_CONF_T="configure.ac" +fi +if [ ! -e configure -o $AOO_CONF_T -nt configure ] ; then + echo "Running autoconf..." + autoconf || exit 1 +fi + +if [ "$AOO_SKIP_CONFIG" != "yes"
Re: Updates to ./configure(.ac)
Hello Jim, I think I understand it nowe clear Kine regards Mechtilde Am 09.12.20 um 16:10 schrieb Jim Jagielski: > > >> On Dec 9, 2020, at 9:56 AM, Mechtilde wrote: >> >> Hello Jim, >> >>> >>> So I was thinking we just have these 3: >>> >>> --with-epm >>> --with-dmake >>> --with-beanshell >> >> I want to differ whether we build with system version or with separate >> version like in ext_sources. > > Can you provide an example? > > For example, say we want to use the system version of dmake... We could do > either > > --with-dmake > > which would look in the user's $PATH for dmake and use that one; or they > could do > > --with-dmake=/opt/local/bin/dmake > > which would use the system version located in /opt/local/bin > > If instead, one used: > > > --with-dmake=https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz > > It would download that distro and build and not use any local/system versions. > > Does that make it more clear? > - > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > For additional commands, e-mail: dev-h...@openoffice.apache.org > -- Mechtilde Stehmann ## Apache OpenOffice ## Freie Office Suite für Linux, MacOSX, Windows und OS/2 ## Debian Developer ## PGP encryption welcome ## F0E3 7F3D C87A 4998 2899 39E7 F287 7BBA 141A AD7F OpenPGP_signature Description: OpenPGP digital signature
Re: Updates to ./configure(.ac)
> On Dec 9, 2020, at 10:17 AM, Matthias Seidel > wrote: > > Hi Jim, > > Am 09.12.20 um 15:29 schrieb Jim Jagielski: >> Now that I'm thinking about the configure script, I have to admit >> that some things really look like they could/should be fixed. >> >> For example, >> >> --with-dmake-path >> --with-dmake-url >> --with-epm >> --with-epm-url >> >> Why does dmake use dmake-path but EPM just use epm? Why 2 directives when >> they could be combined? And it's not like we can build without EPM and dmake >> anyway... > I never needed EPM to build on Windows. So I wouldn't want to combine it > with DMAKE. > > But maybe I misunderstood... Yes, right, of course. ./configure would know that EPM is only needed on non-WIN platforms. These would *STILL* be all independent configure options. It is instead of having, in some cases, 3 options, one to enable, one to point to a local path and yet another to point to a URL, we would have one option, for each one. So ''--with-dmake-path" and "--with-dmake-url" would be combined to 1: --with-dmake "--with-epm" and "--with-epm-url" would be combined to 1: --with-epm "*-beanshell*" would be combined to 1: --with-beanshell - To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org
Re: Updates to ./configure(.ac)
Hi Jim, Am 09.12.20 um 15:29 schrieb Jim Jagielski: > Now that I'm thinking about the configure script, I have to admit > that some things really look like they could/should be fixed. > > For example, > > --with-dmake-path > --with-dmake-url > --with-epm > --with-epm-url > > Why does dmake use dmake-path but EPM just use epm? Why 2 directives when > they could be combined? And it's not like we can build without EPM and dmake > anyway... I never needed EPM to build on Windows. So I wouldn't want to combine it with DMAKE. But maybe I misunderstood... Matthias > > --enable-beanshell Enable the use of beanshell. > --with-system-beanshell Use beanshell already on system (default) > --with-beanshell-jar=JARFILE Specify path to jarfile manually > > That's a lot of options that could be combined into 1. > > So I was thinking we just have these 3: > > --with-epm > --with-dmake > --with-beanshell > > If we wish to disable, then ./configure accepts '--without-*' or --with-*=no. > No magic there. > If left as is, configure looks in $PATH for epm, dmake, and the beanshell > jarfile. If not found, beanshell is disabled and for epm/dmake we fail. > > We also allow the --with-*= to be *either* local paths OR URLs > > To make this more clear: > > --with-epm > o Look for EPM on PATH. If it doesn't exist, we try error out > --with-epm=/usr/local/bin/epm > o Use that version > --with-epm=https://foo.bar/fluzz/epm-5.0.0.tar.gz > o download and build (replace --with-epm-url) > > For beanshell and dmake we would have just: > >--with-beanshell >--with-dmake > > which follows the same logic. > > Of course, this will break existing build scripts for 4.2.0 and later, but I > think the disruption is worth it. > > Thoughts? > > > - > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > For additional commands, e-mail: dev-h...@openoffice.apache.org > smime.p7s Description: S/MIME Cryptographic Signature
Re: Updates to ./configure(.ac)
> On Dec 9, 2020, at 9:56 AM, Mechtilde wrote: > > Hello Jim, > >> >> So I was thinking we just have these 3: >> >> --with-epm >> --with-dmake >> --with-beanshell > > I want to differ whether we build with system version or with separate > version like in ext_sources. Can you provide an example? For example, say we want to use the system version of dmake... We could do either --with-dmake which would look in the user's $PATH for dmake and use that one; or they could do --with-dmake=/opt/local/bin/dmake which would use the system version located in /opt/local/bin If instead, one used: --with-dmake=https://github.com/jimjag/dmake/archive/v4.13.1/dmake-4.13.1.tar.gz It would download that distro and build and not use any local/system versions. Does that make it more clear? - To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org
Re: Updates to ./configure(.ac)
Hello Jim, Am 09.12.20 um 15:29 schrieb Jim Jagielski: > Now that I'm thinking about the configure script, I have to admit > that some things really look like they could/should be fixed. > > For example, > > --with-dmake-path > --with-dmake-url > --with-epm > --with-epm-url > > Why does dmake use dmake-path but EPM just use epm? Why 2 directives when > they could be combined? And it's not like we can build without EPM and dmake > anyway... > > --enable-beanshell Enable the use of beanshell. > --with-system-beanshell Use beanshell already on system (default) > --with-beanshell-jar=JARFILE Specify path to jarfile manually > > That's a lot of options that could be combined into 1. > > So I was thinking we just have these 3: > > --with-epm > --with-dmake > --with-beanshell I want to differ whether we build with system version or with separate version like in ext_sources. > > If we wish to disable, then ./configure accepts '--without-*' or --with-*=no. > No magic there. > If left as is, configure looks in $PATH for epm, dmake, and the beanshell > jarfile. If not found, beanshell is disabled and for epm/dmake we fail. > > We also allow the --with-*= to be *either* local paths OR URLs > > To make this more clear: > > --with-epm > o Look for EPM on PATH. If it doesn't exist, we try error out > --with-epm=/usr/local/bin/epm > o Use that version > --with-epm=https://foo.bar/fluzz/epm-5.0.0.tar.gz > o download and build (replace --with-epm-url) > > For beanshell and dmake we would have just: > >--with-beanshell >--with-dmake > > which follows the same logic. > > Of course, this will break existing build scripts for 4.2.0 and later, but I > think the disruption is worth it. > > Thoughts? > > > - > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > For additional commands, e-mail: dev-h...@openoffice.apache.org > -- Mechtilde Stehmann ## Apache OpenOffice ## Freie Office Suite für Linux, MacOSX, Windows und OS/2 ## Debian Developer ## PGP encryption welcome ## F0E3 7F3D C87A 4998 2899 39E7 F287 7BBA 141A AD7F OpenPGP_signature Description: OpenPGP digital signature
Updates to ./configure(.ac)
Now that I'm thinking about the configure script, I have to admit that some things really look like they could/should be fixed. For example, --with-dmake-path --with-dmake-url --with-epm --with-epm-url Why does dmake use dmake-path but EPM just use epm? Why 2 directives when they could be combined? And it's not like we can build without EPM and dmake anyway... --enable-beanshell Enable the use of beanshell. --with-system-beanshell Use beanshell already on system (default) --with-beanshell-jar=JARFILE Specify path to jarfile manually That's a lot of options that could be combined into 1. So I was thinking we just have these 3: --with-epm --with-dmake --with-beanshell If we wish to disable, then ./configure accepts '--without-*' or --with-*=no. No magic there. If left as is, configure looks in $PATH for epm, dmake, and the beanshell jarfile. If not found, beanshell is disabled and for epm/dmake we fail. We also allow the --with-*= to be *either* local paths OR URLs To make this more clear: --with-epm o Look for EPM on PATH. If it doesn't exist, we try error out --with-epm=/usr/local/bin/epm o Use that version --with-epm=https://foo.bar/fluzz/epm-5.0.0.tar.gz o download and build (replace --with-epm-url) For beanshell and dmake we would have just: --with-beanshell --with-dmake which follows the same logic. Of course, this will break existing build scripts for 4.2.0 and later, but I think the disruption is worth it. Thoughts? - To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org