Re: Updates to ./configure(.ac)

2020-12-10 Thread Jim Jagielski
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)

2020-12-09 Thread Don Lewis
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)

2020-12-09 Thread Arrigo Marchiori
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)

2020-12-09 Thread Mechtilde
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)

2020-12-09 Thread Jim Jagielski



> 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)

2020-12-09 Thread Matthias Seidel
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)

2020-12-09 Thread 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



Re: Updates to ./configure(.ac)

2020-12-09 Thread Mechtilde
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)

2020-12-09 Thread 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

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