Age | Commit message (Collapse) | Author |
|
Fixing double slash and wrong paths
Notes:
ignore: aoo
|
|
Notes:
ignore: obsolete
|
|
(see dev@ thread)
Notes:
prefer: 3d75a28274b2fb299c5a2ff5b017984054cac873
|
|
Patch by damjan
Notes:
ignore: obsolete
|
|
Allow ICU's version.mk to be used by GNU make (= instead of *=).
Add support for building generated C files.
Reference ICU libraries using "gb_Library_use_externals" across the tree.
Also ICU is an external library, remove it from RepositoryFixes.mk
which is only for internal ones, and keep it in RepositoryExternal.mk
exclusively. Since we get to specify the full linker parameter over there,
remove the half-baked hacks for it from RepositoryFixes.mk.
Patch by: me
Notes:
prefer: 2674376ddff9370988fe1fcad0ec519d1e68e869
|
|
Largely based on a mixture of the Linux64 and Win32 bridges,
with significant AMD64 assembly language also used, it was
challenging to develop but luckily not too long.
Some links and stacks/register diagrams have been left
in the code for easy reference.
It compiles and links, but how well it works remains to be tested. At
least it's no longer holding up the Win64 port. The exception handling
is the least certain, although stack alignments for the assembly language
could also have issues.
Also patched gbuild to use the 64 bit MASM for building assembly language
files on Win64.
Patch by: me
Notes:
prefer: acf1b8ee7076cce6a7efad1e605393789425b9b4
|
|
o Stop pretending/forcing *Nix shared lib versioning on macOS
o Use smaller and more easily manageable temp temps by leveraging --headerpad dyld option
o misc gbuild fixes
Notes:
ignore: aoo
|
|
Patch by: me
Notes:
ignore: aoo
|
|
as it breaks the build on Win64.
Patch by: me
Notes:
ignore: aoo
|
|
there are no dependencies.
Fix the format of Ant paths on Windows.
Patch by: me
Notes:
ignore: obsolete
|
|
$(shell cat ...)
instead of
$(shell cat < ...).
Patch by: me
Notes:
ignore: obsolete
|
|
which lack:
$(file < ...)
but have:
$(shell cat ...)
instead.
Patch by: me
Notes:
ignore: obsolete
|
|
a Java module depends on. Use this to make Ant targets depends on
their dependencies in gbuild, so that Java submodules within a
main/ module build in the correct order.
Port main/xmerge to gbuild/Ant using this approach.
Patch by: me
Notes:
ignore: aoo
|
|
to successfully build main/basic on Windows.
Patch by: me
Notes:
ignore: obsolete
|
|
Patch by: me
Notes:
ignore: obsolete
|
|
Port main/idlc to gbuild.
Patch by: me
Notes:
ignore: obsolete
|
|
This will be needed by basic, bridges and possibly other modules.
Patch by: me
Notes:
ignore: obsolete
|
|
This hasn't been necessary so far, but dmake did it, so let's be safe.
Patch by: me
Notes:
ignore: obsolete
|
|
Use native paths when calling idlc.
Don't export all symbols from salhelper's SimpleReferenceObject
on Windows, only those we have to, as some modules fail to link
otherwise.
There is no "date" component any more, it's been renamed.
Patch by: me
Notes:
ignore: obsolete
|
|
from, in the gbuild *_set_private_api function. Fix codemaker's
makefile to use this.
Port main/scaddins to gbuild.
Patch by: me
Notes:
ignore: aoo
|
|
Port main/rsc to gbuild.
Patch by: me
Notes:
ignore: obsolete
|
|
/cygdrive/c/... paths.
Patch by: me
Notes:
prefer: 5342bc073b6dff059f9e60ad5fea6905752f0f9c
|
|
which allow extracting custom .hpp files from .rdb using cppumaker.
Patch by: me
Notes:
prefer: 84fb7420a69205ed187d1debd600304eacde9a34
|
|
Also ported the Java tests in codemaker to JUnit
instead of the internal test framework,
and enabled them during the subsequent test phase.
A gbuild API for building private UNO APIs using cppumaker was also added,
and used to run the C++ subsequent tests in codemaker.
Patch by: me
Notes:
prefer: f3653d3c1e93a7e92a546b770e418b8cf5c06c54
|
|
Patch by: me
Notes:
ignore: obsolete
|
|
NOTE: AUXTARGETS is there to add additional targets that must/should
delivered w/ the original libs. Good Tribal Knowledge
Notes:
ignore: aoo
|
|
as before, w/o knowledge of UDK, but take care of UDK versioning
following that.
Notes:
ignore: aoo
|
|
Notes:
ignore: aoo
|
|
Notes:
ignore: aoo
|
|
Notes:
ignore: aoo
|
|
what a cluster*
Notes:
ignore: aoo
|
|
places so we need to "handle" it somehow w/ macOS.
The easiest way is simply make hard links to the
real dylibs to the "versioned" number ones.
Notes:
ignore: aoo
|
|
others and the format is totally different, from what I can tell...
Notes:
ignore: aoo
|
|
everything is a .so
Notes:
ignore: aoo
|
|
Notes:
ignore: aoo
|
|
and also support the UDK versioning which was added for Linux, Solaris and FreeBSD but which broke macOS horribly. I *think* this is right. Sometimes, as much as dmake is a pain, the constant breakage due to the change to gbuild is sometimes much, much worse. Esp since we HAVE the sources for dmake.
Notes:
ignore: aoo
|
|
Clang version 4.0 and newer uses SSE instructions that require
16-byte alignment to zero memory allocated using the C++ new operator.
The internal memory allocator does not understand anything larger
than 8-byte alignment. Modify it to be capable of doing 16-byte
alignment when necessary.
There is also a debug layer beneath the C++ new and delete operators
that is enabled by the --enable-debug configure option. This layer
adds 8 to the requested size of any allocations before calling the
underlying allocator, adds a known signature to the start of the
memory block, and then adds an 8 byte offset to the pointer before
returning it to the caller. The delete operator basically does the
reverse, checking for the proper signature. Modify this code so
that it adds and subtracts a 16-byte offset on X86_64 so that a
properly aligned block from the underlying allocator does not cause
new to return a misaligned pointer.
Modify set_soenv.in so that it always requests 16-byte alignment
on X86_64 so that the ABI is the same independent of the toolchain.
Notes:
prefer: cfd2691e5bf398304d7816227b933e53907b6204
|
|
the its default C++ standard from C++98 to C++14 and our old code
is not prepared for that. Avoid the problem by adding the -std=gnu++98
compiler flag.
Add the -fstack-protector compiler flag on FreeBSD INTEL and X86_64.
Notes:
ignore: obsolete
|
|
Using -Os optimization causes clang to generate bad DWARF CFI which
is needed for stack unwinding during exception handling. See:
<https://llvm.org/bugs/show_bug.cgi?id=24792>
Instead of using -Os, optimize using "-O2 -fno-unroll-loops" as a
reasonably close substitute.
Notes:
ignore: obsolete
|
|
Fix the gbuild platform CPUDEFS to conform to what modules expect.
Patch by: me
Notes:
ignore: obsolete
|
|
Skip tests when JUnit is absent correctly: the OOO_JUNIT_JAR variable
isn't blank but absent.
This should fix building on Windows.
Patch by: me
Notes:
ignore: obsolete
|
|
a deliverable. Added Ant support files that provide build infrastructure
that can be used by Java projects, including testing with JUnit at
compile time, processing of external dependencies, using the IDL
toolchain (idlc, regmerge, javamaker), and general build support like
compiling into class files, building the JAR file and cleaning. These
features require Ant version >= 1.9.1.
Ported main/jurt to gbuild and this Ant infrastructure.
Patch by: me
Notes:
ignore: obsolete
|
|
Patch by: me
Notes:
ignore: obsolete
|
|
as per main/ure/source/README, and deal with their unusual names in
RepositoryFixes.mk. Also remove special handling for them in gbuild.
Patch by: me
Notes:
ignore: aoo
|
|
for *nix platforms. Do this by setting the ELF SONAME to the
libxyz.so.3 style library output name, changing the output file
that the linker writes to to be in this format (from libxyz.so),
making a symlink from libxyz.so to libxyz.so.3, adding libxyz.so.3
as a delivery AUXTARGET for the deliverable libxyz.so, and
changing the deliver commands to copy symlinks properly. This is
all what dmake does too.
Use this to port main/registry to gbuild.
Patch by: me
Notes:
ignore: obsolete
|
|
Notes:
ignore: obsolete
|
|
Notes:
ignore: obsolete
|
|
For now, require --enable-win64 to be passed to ./configure and without it build 32 bit
binaries like before.
Detect the MSVC compiler only through oowintool (ie. registry keys) and the command line option,
not by searching the path, as we need to know the exact path to determine whether the compiler
outputs 32 or 64 bit binaries.
Pass --aoo32-on-win64 to oowintool when doing the AOO32 on Win64 build, so oowintool
known to look at the 32 bit registry for Java, as we need a JDK of matching bitness.
We may need this option for other oowintool tasks.
Introduce the "mscx" COMNAME for 64 bit AOO.
Add the remaining gbuild and dmake changes necessary to use the 64 bit MSVC compiler.
Patch by: me
Notes:
ignore: obsolete
|
|
Move the calculation of $CCNUMVER and some other variables from
main/solenv/inc/tg_compv.mk, where it is only usable by dmake, to
configure, where it can be used by both dmake and gbuild. This is
a requirement to upstream some compiler bug workaround patches from
the FreeBSD port.
A bit of logic from set_soenv is also moved into configure. A bunch
more should probably be moved so that the configuration logic is
not spread across so many different places, but that can wait.
Something else to consider is that it would be nice to use a different
value of $COM for Apple's clang, maybe "ACLANG" or "APPLECLANG"
since it has a different version numbering scheme that the open-source
version of clang and having a unique identifier would simplify
version checking when applying compiler bug workarounds.
Note: I think the old value of $CCNUMVER on the Mac is wrong. It
should look something like 000800010000 or 000700030000, depending
on the installed version.
Change -DCPPU_ENV on the Mac from $(COMID) to $(COMNAME) for
consistency with the dmake side. It shouldn't make a difference
in practice since both have the same value on the Mac.
Notes:
ignore: obsolete
|
|
in main/solenv/gbuild/Output.mk with $(gb_AWK). Unfortunately
$(gb_AWK) is not defined at this point, so this change caused
errors each time a gbuild makefile was invoked. The definition
of $(gb_AWK) is in the platform gbuild files, which are included
after Output.mk. Changing the order of the includes breaks the
Windows build due to other chicken vs. egg problems. Fortunately
using hardwired awk works everywhere except Solaris, which we no
longer support.
Notes:
ignore: obsolete
|