summaryrefslogtreecommitdiff
path: root/solenv/gbuild
AgeCommit message (Collapse)Author
2019-06-18i128128 - Lost translations in database wizardMatthias Seidel
Fixing double slash and wrong paths Notes: ignore: aoo
2019-02-21Get ObjC files to build and linkJim Jagielski
Notes: ignore: obsolete
2019-02-20Get apple_remote to build under gbuild, but still not yet workingJim Jagielski
(see dev@ thread) Notes: prefer: 3d75a28274b2fb299c5a2ff5b017984054cac873
2019-02-13Only symlink to jnilib if we are a dylib.Jim Jagielski
Patch by damjan Notes: ignore: obsolete
2019-02-05Port main/i18npool to gbuild.Damjan Jovanovic
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
2019-01-26Add a preliminary Windows AMD64 UNO-C++ bridge.Damjan Jovanovic
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
2019-01-11Get macOS building and packaging again. Following changes/fixes:Jim Jagielski
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
2018-12-03Allow packaging files into $(OUTDIR)/lib as well.Damjan Jovanovic
Patch by: me Notes: ignore: aoo
2018-12-01Define BOOST_MEM_FN_ENABLE_CDECL only on Win32,Damjan Jovanovic
as it breaks the build on Win64. Patch by: me Notes: ignore: aoo
2018-11-27Fix the Ant dependency extraction for the case whenDamjan Jovanovic
there are no dependencies. Fix the format of Ant paths on Windows. Patch by: me Notes: ignore: obsolete
2018-11-25UseDamjan Jovanovic
$(shell cat ...) instead of $(shell cat < ...). Patch by: me Notes: ignore: obsolete
2018-11-25Fix building with GNU make versions below 4.2,Damjan Jovanovic
which lack: $(file < ...) but have: $(shell cat ...) instead. Patch by: me Notes: ignore: obsolete
2018-11-24Add a "dependencies" target for Ant to allow extracting the JARs thatDamjan Jovanovic
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
2018-10-05Complete enough of the assembly language building for now,Damjan Jovanovic
to successfully build main/basic on Windows. Patch by: me Notes: ignore: obsolete
2018-10-05Fix a typo.Damjan Jovanovic
Patch by: me Notes: ignore: obsolete
2018-10-05Add building of "flex" files (.ll) to gbuild.Damjan Jovanovic
Port main/idlc to gbuild. Patch by: me Notes: ignore: obsolete
2018-09-26Add a gbuild API for building assembly language source files.Damjan Jovanovic
This will be needed by basic, bridges and possibly other modules. Patch by: me Notes: ignore: obsolete
2018-09-08Strip carriage returns from the Bison source files.Damjan Jovanovic
This hasn't been necessary so far, but dmake did it, so let's be safe. Patch by: me Notes: ignore: obsolete
2018-09-05Further fixes to get Windows building.Damjan Jovanovic
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
2018-09-03Allow specifying the .rdb file, and which UNO types to generate headersDamjan Jovanovic
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
2018-08-31Implement gbuild functions for building Bison files.Damjan Jovanovic
Port main/rsc to gbuild. Patch by: me Notes: ignore: obsolete
2018-08-25Windows needs abbreviate_dirs_native as cppumaker doesn't handleDamjan Jovanovic
/cygdrive/c/... paths. Patch by: me Notes: prefer: 5342bc073b6dff059f9e60ad5fea6905752f0f9c
2018-08-24Add the solenv/gbuild changes I accidentally left out from my last commit,Damjan Jovanovic
which allow extracting custom .hpp files from .rdb using cppumaker. Patch by: me Notes: prefer: 84fb7420a69205ed187d1debd600304eacde9a34
2018-08-23Port main/codemaker to gbuild.Damjan Jovanovic
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
2018-08-18Get gbuild's CustomTarget working.Damjan Jovanovic
Patch by: me Notes: ignore: obsolete
2018-07-27Force .jnilibs to be folded in. Patch via Damjan.Jim Jagielski
NOTE: AUXTARGETS is there to add additional targets that must/should delivered w/ the original libs. Good Tribal Knowledge Notes: ignore: aoo
2018-07-26Let's re-arrange the logic... when we create the shared lib, createJim Jagielski
as before, w/o knowledge of UDK, but take care of UDK versioning following that. Notes: ignore: aoo
2018-07-26force symlinkJim Jagielski
Notes: ignore: aoo
2018-07-18updateJim Jagielski
Notes: ignore: aoo
2018-07-12Update targets for macOSJim Jagielski
Notes: ignore: aoo
2018-07-12Work on getting macOS building again w/ 4.2.0 and the versioning of libs...Jim Jagielski
what a cluster* Notes: ignore: aoo
2018-07-05Ugg. It looks like versioning has also crept in otherJim Jagielski
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
2018-07-03Just avoid versioning totally w/ macOS... it doesn't work like Linux and ↵Jim Jagielski
others and the format is totally different, from what I can tell... Notes: ignore: aoo
2018-07-03restore until I can figure out a way to handle this crud which assumes ↵Jim Jagielski
everything is a .so Notes: ignore: aoo
2018-07-03nope... still broke. Need to convince it to ignore UDKJim Jagielski
Notes: ignore: aoo
2018-07-03Get macOS building again... Use (old) SDKROOT as needed for older platforms ↵Jim Jagielski
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
2018-04-28Fix potential memory alignment issues on X86_64.Don Lewis
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
2018-04-21Unbreak build on FreeBSD with clang 6.0 and newer. Clang 6 changedDon Lewis
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
2018-04-20Work around a bug in clang versions 3.6.x and 3.7.x on 32-bit Intel.Don Lewis
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
2018-04-15Port main/jvmfwk to gbuild / Ant.Damjan Jovanovic
Fix the gbuild platform CPUDEFS to conform to what modules expect. Patch by: me Notes: ignore: obsolete
2018-04-08Pass the Windows path to Ant on Windows, as /cygdrive/c/... doesn't work.Damjan Jovanovic
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
2018-04-08Added an Ant target type to gbuild, that can be used to call Ant to buildDamjan Jovanovic
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
2018-03-30Port main/lingucomponent to gbuild.Damjan Jovanovic
Patch by: me Notes: ignore: obsolete
2018-03-25Move reg and store to UNOVERLIBS, as they are definitely URE librariesDamjan Jovanovic
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
2018-03-22Implement the ability to build "UDK versioned" libraries in gbuildDamjan Jovanovic
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
2018-03-20Pattern match and back to s5abi for now...Jim Jagielski
Notes: ignore: obsolete
2018-03-19Use gcc3 for COMID for macOS/OSXJim Jagielski
Notes: ignore: obsolete
2018-03-12Implement initial unfinished support for building 64 bit AOO on 64 bit Windows.Damjan Jovanovic
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
2018-03-09#127664# $CCNUMVER from dmake to configureDon Lewis
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
2018-01-08Revert the part of r1818099 that changed the hardwired awk commandDon Lewis
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