Adding Service to Open Source Software
Riverace's ACE News and Tips Newsletter Helping You Make the Most of ACE
November 2006
Welcome to the November 2006 edition of Riverace's ACE News and Tips newsletter. This issue contains a follow-up to last month's article about auto-configure and ACE, describing how you can use the configured information to build your application code. It also contains reminders about our current survey about what ACE users love, hate, and want the most, as well as a note about the recently released ACE 5.4f and 5.5a Fix Kits.
In this issue
  • Featured Book: C++ Network Programming, Volume 2 (C++NPv2)
  • How to Build Your Application with an Auto-configured ACE
  • ACE 5.4f and 5.5a Fix Kits Released

  • How to Build Your Application with an Auto-configured ACE

    Last month's newsletter described how to use the new GNU autotools support in ACE to automatically configure ACE on most non-Windows platforms. The new scheme makes it much easier to configure ACE for a new platform, and will be much more familiar to people used to using the autotools to build other open source software packages.

    But once ACE is configured and built, you're still left with figuring out how to build your ACE-using application. When using ACE's traditional configure/build method, you need to either structure your application's makefiles to use ACE's GNU make structure, or extract the pertinent compile and link options from ACE's files and insert them into your application's makefiles. This step is a common source of confusion and build errors because there are a number of settings and compile switches for your application that must match ACE's build options in order to successfully compile and link an ACE-using program.

    The good news is that ACE's autotools support also assists your efforts to cleanly integrate with your local ACE build. The pkg-config facility is the means by which you can be sure to use the correct compile and link options for your application. This is how it works:

    • When you use ACE's configure script to configure ACE, the pertinent compile and link options are saved.
    • The pkg-config command accesses the options saved by ACE's configure script, making them available to you.

    Generally, the pkg-config command will try to access configure information for an installed package (the Makefiles generated using ACE's autoconfigure support also allow you to install the resulting ACE build) but you can also specify the directory to your uninstalled ACE build using the PKG_CONFIG_PATH environment variable. For example, if you unpacked the ACE sources into /home/shuston/ACE_wrappers and configured ACE in the build subdirectory, you would set (or append to) PKG_CONFIG_PATH /home/shuston/ACE_wrappers/build/ace.

    The pkg-config command has a number of options to specify which information you'd like to retrieve. For example, if you have a single-file application with source file myapp.cpp, you could build it with the following command:

    g++ -o myapp myapp.cpp `pkg-config --cflags --libs ACE`
    
    The --cflags option retrieves the preprocessor/compile flags needed for compilation and the --libs option retrieves the needed link options to include ACE as well as any libraries that ACE depends on.

    And, the same pkg-config command can be used for any of the libraries supplied with ACE, such as ACE_SSL and ACEXML. Just remember to include the proper directories in PKG_CONFIG_PATH if your ACE build is not installed.

    Very cool, huh? Riverace support customers can always ask further questions about this facility, and get more advice about how to best apply this feature.


    ACE 5.4f and 5.5a Fix Kits Released

    Riverace recently released two ACE fix kits: ACE 5.4f, the 5th release in the 5.4 series, and ACE 5.5a, the first fix kit release in the 5.5 series. With these releases, Riverace continues to enable developers to quickly develop C++ networked applications on today's leading-edge platforms without an ACE version upgrade.

    All current Riverace support customers can download the new kits at no charge from the support Knowledge Base at http://acehelp.riverace.com, article 2 (for ACE 5.4f) or article 8 (for ACE 5.5a). All other users can download the kit for US$25 on Riverace's web site.


    Featured Book: C++ Network Programming, Volume 2 (C++NPv2)

    Now in its fifth printing, this widely acclaimed book covers the major frameworks in ACE, how and why they're designed as they are, and examples for how to use them. This books also contains an in-depth coverage of reuse techniques over what this newsletter discusses, and a domain analysis of the factors often encountered when designing networked applications. Every serious ACE user should have this book on their desk at all times.

    Buy it now from amazon.com...
    Quick Links...

    ACE Documentation

    ACE 5.4 Series Kits

    ACE 5.5 Series Kits

    ACE Training Classes

    ACE Support Services

    Newsletter Archive

    More About Us



    Join our mailing list!
    phone: 888-384-8154