This reverts commit bf0ea5c4ee.
Those variables are used in bin/distro-install-*.
Unable to find any issue with both distro-install and dev-install so
reverting.
If something really does break it needs fixing. Reverting this is not
an option.
Make sure the MINGW_FOO environment variables get set and propagated
to the build environment also in the MinGW cross-compilation case. The
OOo code used to do that for MinGW natively on Windows (under
Cygwin). (Which we don't intend to support.)
Now, whether the *use* of these variables in the various makefiles etc
is relevant any more remains to be seen. I suspect all that might well
be unnecessary, as we after all are capable of cross-build the code
using MinGW just fine currently with none of these MINGW_FOO being
set.
One place where at least MINGW_GCCDLL and MINGW_GXXDLL is needed,
though, is in scp2. We presumably do want to include these DLLs (the
shared libgcc and libstdc++) in the installation set, to the extent
the scp2 stuff can be used still in a MinGW cross-build context.
Its alternative values as used by OOo is irrelevant to us as we don't
intend to support building using MinGW on Windows itself. To us, MinGW
always means cross-compilation. For us it is enough to look at
$(OS)$(COM), and WNTGCC always implies cross-compilation.
(OOo on the other hand attempts to support use of the Cygwin gcc with
the -mno-cygwin option (which is practically considered an obsolete
option), the normal MinGW compiler (but still from Cygwin), but not
cros-compilation.)
This commit allows to set which libraries to merge
and creates merged library in tail_build if enabled.
This should save time when loading libraries in application
and also makes more sense for link-time optimization.
Signed-off-by: Michael Meeks <michael.meeks@novell.com>
tail_build run mostly by itself and wrap a dozen of module,
using just MAXPROCESS for the parallelism force to limit NB_CPUS
in order to avoid a NB_CPUS x MAXPROCESS scenario.
This mitigate this problem, until we don;t need MAXPROCESS anymore
and NB_CPUS becomes the only driving force.
tml didn't like some of them; plus, configure.in -> configure removes the
[] in if statements (atleast on my machine) so I have to use "test".
My CPATH & LIBRARY_PATH statements where unreliable; even after modifying
set_soenv.in to export them correctly. I'm currently exporting them before
the ./autogen.sh && make and things seem to work better; I'm still looking
for a better solution.
Installing xCode 4.1 renames the xCode 3.2.6 directory to /Developer-old/;
however, the compiler gets confused and can't find the headers and libraries.
This patch just notifies the compiler where they are actually located.
Note: I'm assuming that people compiling on 10.7 aren't trying to generate
a PPC binary.
No longer call the script snippet LinuxX86Env.Set.sh,
MacOSXX86Env.Set.sh, etc, but always Env.Host.sh. No need for
source_soenv.sh then, which wouldn't have worked when cross-compiling
anyway.
(As before, when cross-compiling, the environment script snipppet for
the BUILD platform is called Env.Build.sh.)
As we build against the MacOSX 10.4 SDK we should certainly not link
against any libraries of the build OS, which could well be 10.5, 10.6
or 10.7.
Norbert verified that this works fine.
This is port from the build repo. The main differences are:
+ splits package-ooo into several scripts (bin/distro-install-*)
+ renames many variables to avoid OOO prefix and to better fit
the variables produced by the current bootstrap configure.in
+ uses OOO_VENDOR from bootstrap/configure.in to add distro specific hacks;
the conditions have been updated only for "Novell, inc."
+ install most of the desktop integration from sysui using
sysui/desktop/share/create_tree.sh
+ do not install two extra templates:
$OOINSTBASE/basis$VERSION/share/template/en-US/forms/resume.ott
$OOINSTBASE/basis$VERSION/share/template/en-US/officorr/project-proposal.ott
should get merged with other templates
+ do not install pyunorc-update64;
it is needed only when you want to run 32-bit LO on 64-bit system;
is anyone using it?
+ do not call install-dictionaries:
+ do not call build-galleries:
is anyone using them?
+ do not install ootool and ooconfig
is anyone using them? are they still working?
Signed-off-by: Michael Meeks <michael.meeks@novell.com>
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Bjoern Michaelsen <bjoern.michaelsen@gmail.com>
Like in my previous plan, when cross-compiling we run the same
configure script separately for a native build configuration on the
build platform, in a temporary subdirectory.
Now use a fixed name "CONF-FOR-BUILD" for that subdirectory, so that
it is easy to edit out that path component from those build
environment variables that contain it.
Pass more of the native build environment variables up to the main
configure and propagate those to the build environment suffixed with
_FOR_BUILD: INPATH, OUTPATH OUTDIR, PATH, SOLARINC, SOLARLIB,
WORKDIR. Whether these all will actually be needed remains to be seen,
the set can be reduced later.
The environment setting file (*Env.Set.sh) for the native build is
copied here to the top directory under the name Env.Build.sh, and the
environment variables set in it that contain pathnames are modified to
point directly to this top directory, not the temporary CONF-FOR-BUILD
subdirectory.
When doing a cross-compiling build, we first do a build of the
necessary build-time tools for the build platform. This is done in the
same source tree. As the directories where build results are stored
include the platform specification (OUTPATH or in some cases INPATH),
there should be no clashes.
Don't run the download script from ./bootstrap(.1). We are running it
from Makefile already anyway often enough. This could also do with
some clean-up; the ./g -f clone phase is a bit slow, I am not sure if
it really is necessary every time? Also, we should not overwrite
ooo.lst if its contents isn't changing.
Use INPATH_FOR_BUILD in SOLARBINDIR so that the self-built tools like
idlc that we run are for the build platform, not the host
platform.
Attempt to get rid of the makefile.rc and makefile.mk files. Surely it
should be enough with just Makefile(.in) (and then GNUmakefile.mk for
its own so far special gbuild purposes). Instead of invoking dmake to
do "clean" or "distclean" from Makefile(.in), we already just do the
same directly in Makefile(.in). This way we don't need to first build
dmake in order to be able to do a make clean, which will then finally
clean out dmake again;)
Ideally I would like to get rid of bootstrap(.1), too. It should be
possible to merge its tasks into configure(.in) or Makefile(.in) as
appropriate.
And actually, maybe also what set_soenv(.in) does could well be merged
into configure(.in)?
Actually NSIS_PATH is crack, it is actually the *directory* where the
makensis program is located, so why not simply just have a variable
with the full pathname to that instead (or just the command name, in
case it is in the default PATH anyway, like on openSUSE with
/usr/bin/makensis)? That would simplify the stuff in download.pm, too.
Re-introduce the old --with-mingw option but now called
--with-mingw-cross-compiler. Its purpose is now specifically to give
the cross-compiler used when building the ODK, if Java is enabled, and
if building the unowinreg.dll. It has now nothing to do with
cross-compiling LibreOffice itself.
Correspondingly, the WITH_MINGW variable now has meaning only when
building LibreOffice for Windows: If using MinGW, whether natively on
Windows itself (which we as such don't intend to support, I hope), or
cross-compiling, it is set to "yes".
Automate and simplify the search for the MinGW cross-compiler when
intending to build unowinreg.dll on Unix.
Look for the usual tool-chain tools ar, nm, objdump, pkg-config,
ranlib, strip, and for Windows alto dlltool and windres using
AC_CHECK_TOOL so that the proper cross tools are found when
needed. Propagate to environment. As such these are not used except in
the MinGW mk files so far.
Other minor cleanups.
When looking for the db,h header, use Autoconf mechanisms instead of
manual checks in hardcoded directories. So yeah, this means that you
need to make sure the correct -I flag is passed if you have db
installed in a weird place where the compiler doesn't find it.
Use checks that require only compiling, not running code. Nice.
Don't AC_SUBST variables that are not used.
AC_SUBST also EXEEXT_FOR_BUILD and use that in Makefile.in.
As winemv.set.sh is now called WindowsMSVCEnv.Set.sh, with capital E
and S like all the others, we can simplify the glob pattern for the
Set.sh file.
Don't attempt to download and/or run unpackers for dependencies
relevant only when using MSVC if using MinGW.
Misc other Windows host vs. build fixes.
Still a long way from working, of course.
The configure script now runs to finish on Linux with --host=mingw32.
It is no longer an error if Windows SDK or DirectX SDK are not found
by the logic in the configure script. It might well be that the user
has included relevant -I and -L flags in CC or CXX that makes the
compilations work anyway, or something. We should not try to be too
clever and try to predict how the compiler or linker work in the
configure script.
We now define the FOO_FOR_BUILD environment variables in set_soenv.in
even when not cross-compiling (identically as the plain FOO ones in
that case, obviously). This should make some makefiles and stuff that
build tools to run on the build host a bit simpler.
In a from-scratch build, when running the configure script, which then
runs the set_soenv script, the default_images symlink (that is passed
to this function in the form of a Windows path, for some reason) does
not exist yet, and realpath fails anyway. So don't bother calling
realpath on Windows paths.
Although I don't know whether it then will cause a problem that the
cygpath -m call won't be able to expand the symlink as it doesn't
exist anyway. This is a mess. And if cygpath -m expands symlinks
anyway, why is the realpath needed at all?
* Fix configure and download support
* Extension naming scheme is: <md5>-<extension-name>_<version>.oxt
- Renamed extensions
* Rename extension version number in download script and scp2 module
Signed-off-by: Fridrich Štrba <fridrich.strba@bluewin.ch>
Don't confuse the 64-bit Explorer extension with a 64-bit LibreOffice,
which is unfinished and highly experimental work. OOo has been
building and distributing a 64-bit Explorer extension since long, and
we should too. They used some secret Hamburg sauce when building it,
though, but hopefully now it works here, too.
* Fix configure and download support
* Extension naming scheme is: <md5>-<extension-name>_<version>.oxt
- Renamed extensions
* Rename extension version number in download script and scp2 module
In a from-scratch build, when running the configure script, which then
runs the set_soenv script, the default_images symlink (that is passed
to this function in the form of a Windows path, for some reason) does
not exist yet, and realpath fails anyway. So don't bother calling
realpath on Windows paths.
Although I don't know whether it then will cause a problem that the
cygpath -m call won't be able to expand the symlink as it doesn't
exist anyway. This is a mess. And if cygpath -m expands symlinks
anyway, why is the realpath needed at all?
This is to allow use of ccache by specifying something like:
export CC="ccache C:/path/to/cl.exe"
export CXX="ccache C:/patch/to/cl.exe"
before running ./autogen.sh