This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Announcing Crossplex-0.10.1


I'm pleased to announce the release of Crossplex version 0.10.1!
The download is here: http://crossplex.org/content/crossplex-0101

For those of you who missed my first announcement, Crossplex is a
new library of macros for GNU make that simplify the development of
embedded Linux systems.  It combines many features similar to those
you find in crosstool and buildroot.  You can read about Crossplex at
crossplex.org.

Crossplex has a powerful patching macro called Patchify_Rules.  This
release fixes two bugs that affected Patchify_Rules (see details at
the end of this post).

The Patchify_Rules macro is designed for specifying builds of
third-party software, which is typically distributed as tarballs.  One
of the guidelines adhered to by Crossplex is that third party software
should be maintained in its original packaging.  This means that if
you download a tarball from an open source project or even from a
closed-source vendor, you store that tarball in your source control
system as the actually downloaded tarball.  There are two main
benefits: 1) since all manipulations of the software are performed by
the build system, those manipulations are explicit and manageable, and
2) if the vendor releases a new version of the package, re-integration
work (i.e. the work of porting your project to their new software) is
minimized.

This strategy is not unique to Crossplex, but Crossplex offers three
features that I have not seen anywhere else:

1.  If you edit the patches in your source directory, re-running make
will result in the build directories properly getting re-patched, even
if you have changed existing patches or added new ones that are out of
order in the patch sequence.  The Patchify_Rules macro knows how to
unwind any patches dependent on your change and re-apply them after
applying your changed or added patch.

2.  If you have specified multiple builds of the same software and you
have specified different patchsets to use on each configuration,
Patchify_Rules will only unpack the tarball in one location, but it
will then create linkdirs (using cpio -aplmdu) into each independent
source configuration, applying only the patches as appropriate to each
configuration.

3.  If you edit the configured sources in your build tree, you can
quickly create a patch from those changes using a target generated
automatically by Patchify_Rules.  This means you don't have to create
a clean reference version of your configuration and a clean changed
version and diff the two --- that is done automatically for you when
you make the automatically generated target.

Even if a project doesn't use other components of Crossplex, the
Patchify_Rules macro by itself can be very useful!  Anyone who
integrates third-party software into their make-based builds can use
Patchify_Rules.

Bug Fixes in Crossplex-0.10.1:

* Only reverse previously applied patches in patches.mk so that
  patch-unrolling workseven when source patches have changed

* Remove spaces from patch tag lists in patches.mk so that multiple
  patch tags don't confuse rules

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]