[Libreoffice] Brace for impact - gnumake4 to hit master

Bjoern Michaelsen bjoern.michaelsen at canonical.com
Fri Jul 22 19:10:37 PDT 2011


Hi all,

feature/gnumake4 is about to be merged into master. As this changes a
lot of low-level build system stuff, there will be quite few temporary
instabilities and problems (esp. on non-Linux platforms) after the
merge.

Some highlights of the changes to the build system:
- gb_{Library,LinkTarget,Executable}_set_{defs,cflags,cxxflags} have
  been obsoleted. Use 
  gb_{Library,LinkTarget,Executable}_add_{defs,cflags,cxxflags}_add_{defs,cflags,cxxflags}
  instead.
- Zip and Jar Targets
- Faster and simpler dep generation
- a mini gbuild-system "gbuild-simple.mk" for use in recursive
  CustomTargets
- The linking against system libs is abstracted in one file
  RepositoryExternal.mk making the module makefiles a lot more readable
  by having simple gb_Library_use_externals calls instead of errorprone
  LDFLAGS twiddling etc. There might be modules which need to be
  adapted still to this simpler scheme.

One nasty sideeffect of the new dep-generation is that if you declare a
cxx to compile for a library that is nonexistant it might result in
the build looping.(*)

Attached you find a list with the ~220 directories touched by this, if
there are changes at an area you feel at home, please have a curious
look at the changes.

I have reverted the gbuildization of gnumake4 in writerfilter and kept
"our" gbuildization. Still I think, we(**) should take a very close look
at that, as it seems to be doing some things quite right. I got the
gnumake4 gbuildization working, but I did not resync that state with the
latest changes in writerfilter. I created two temporary tags in filters:
-
http://cgit.freedesktop.org/libreoffice/filters/tag/?id=feature/gnumake4_writerfilter_base
- 
http://cgit.freedesktop.org/libreoffice/filters/tag/?id=feature/gnumake4_writerfilter_head

which are the working gnumake4 gbuildization state (head) and "our"
master state it was based on (base). That diff (in writerfilter only) is
pushed as a featurebranch:
 http://cgit.freedesktop.org/libreoffice/filters/commit/?h=feature/gnumake4_writerfilter

which we can merge to master, if we choose to. Otherwise, we should
delete those.

If nobody protests, I will merge the branch to master on Sunday
afternoon, so that I wont break the master for volunteers on the
weekend, and so that we have good tinderbox result on Monday.

Best,

Bjoern

(*) EasyHack: Make gbuild bail out early if nonexistent cxx files are
declared.

(**) we = Miklos and David, maybe?

P.S.: Test status of the branch:
Smoketest passes.
In-build tests pass.
JunitTest/toolkit_unoapi fails, but does so on master too.
JunitTest/sw_complex fails, but does so on master too.
Junittest/dbaccess_complex seems to hang, but does seem to _NOT_ fail
on master. Worth a look.
Other subsequenttests pass.

-- 
https://launchpad.net/~bjoern-michaelsen
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gnumake4_changed_dirs.txt
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110723/1543957a/attachment-0001.txt>


More information about the LibreOffice mailing list