Configuration of BES Modules: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
mNo edit summary
mNo edit summary
Line 6: Line 6:
* check it out in the bes/modules dir using "submodule add <github repo>"
* check it out in the bes/modules dir using "submodule add <github repo>"
* Add it to modules/Makefile.am
* Add it to modules/Makefile.am
* Hack the module's Makefile.ac so that CPPFLAGS and LIBADD reference the correct places given that the code will build w/o bes first being installed
* Hack the module's Makefile.am so that CPPFLAGS and LIBADD reference the correct places given that the code will build w/o bes first being installed
<source lang="bash">
<source lang="bash">
if DAP_MODULES
if DAP_MODULES

Revision as of 20:44, 21 November 2014

Under construction 11/20/14

Use the 'modules' branch of 'bes'

For each module to be added:

  • check it out in the bes/modules dir using "submodule add <github repo>"
  • Add it to modules/Makefile.am
  • Hack the module's Makefile.am so that CPPFLAGS and LIBADD reference the correct places given that the code will build w/o bes first being installed
if DAP_MODULES
AM_CPPFLAGS = -I$(top_srcdir)/dispatch -I$(top_srcdir)/dap $(DAP_CFLAGS)
LIBADD = $(DAP_SERVER_LIBS) $(DAP_CLIENT_LIBS)
else
AM_CPPFLAGS = $(BES_CPPFLAGS) # or wahtever was set here or in ..._CPPFLAGS
LIBADD = $(BES_DAP_LIBS)      # and ..._LIBADD
endif

then

# comment this out to force use of AM_CPPFLAGS libcsv_module_la_CPPFLAGS = ...
libcsv_module_la_LIBADD = $(LIBADD)
  • For unit-test code you may need to add some of the bes code to the link line. To do that, use the shell variables:
    • BES_DISPATCH_LIB
    • BES_XML_CMD_LIB
    • BES_PPT_LIB
    • BES_EXTRA_LIBS

where you almost certainly want to use $BES_DISPATCH_LIB $BES_EXTRA_LIBS

  • Add "AM_CONDITIONAL([DAP_MODULES], [false])" to the modules configure.ac
  • Add files to be build by configure:
    modules/dap-server/Makefile
    modules/dap-server/asciival/Makefile
    modules/dap-server/asciival/unit-tests/Makefile
    modules/dap-server/asciival/unit-tests/test_config.h
    modules/dap-server/www-interface/Makefile])
    AC_CONFIG_FILES([modules/dap-server/www-interface/js2h.pl], [chmod +x modules/dap-server/www-interface/js2h.pl])

using the trusty cut and paste and prefixing them all with 'modules/'

  • autotest tests are special...
  • Scan the module's configure.ac and transfer any tests the Makefile.am will need to the bes' configure.ac