
Index: ChangeLog From Raphaël Poss <raph@lrde.epita.fr> * configure.ac: Comment out dysfunctional stuff. Index: olena/ChangeLog From Raphaël Poss <raph@lrde.epita.fr> * conf/README: Add. * Makefile.am: Comment out dysfunctional stuff. Index: configure.ac --- configure.ac Mon, 04 Aug 2003 16:52:22 +0200 burrus_n (oln/3_configure. 1.47.1.1.1.1.1.4.1.15.1.8 640) +++ configure.ac Mon, 25 Aug 2003 12:28:41 +0200 raph (oln/3_configure. 1.47.1.1.1.1.1.4.1.15.1.8 640) @@ -85,15 +85,19 @@ AM_CONDITIONAL([REGEN_MANPAGES], [test "x$oln_cv_regen_manpages" != xno]) -### Compiler-specific auto-configuration - AC_CACHE_CHECK([whether to enable auto-configuration for multiple compilers], - [oln_cv_enable_config_sh], - [oln_cv_enable_config_sh=yes - AC_ARG_WITH([config-sh], - [AC_HELP_STRING([--without-config-sh], - [disable generation of oln-config-xxx.sh])], - [oln_cv_enable_config_sh=$withval])]) - AM_CONDITIONAL([OLN_CONFIG_SH], [test "x$oln_cv_enable_config_sh" != xno]) +### +### Experimental stuff. Read olena/conf/README +### + +dnl ### Compiler-specific auto-configuration +dnl AC_CACHE_CHECK([whether to enable auto-configuration for multiple compilers], +dnl [oln_cv_enable_config_sh], +dnl [oln_cv_enable_config_sh=yes +dnl AC_ARG_WITH([config-sh], +dnl [AC_HELP_STRING([--without-config-sh], +dnl [disable generation of oln-config-xxx.sh])], +dnl [oln_cv_enable_config_sh=$withval])]) +dnl AM_CONDITIONAL([OLN_CONFIG_SH], [test "x$oln_cv_enable_config_sh" != xno]) ### The testsuite is a component. Index: olena/Makefile.am --- olena/Makefile.am Tue, 13 May 2003 22:29:01 +0200 burrus_n (oln/2_Makefile.a 1.30.1.1.1.2.1.9 640) +++ olena/Makefile.am Mon, 25 Aug 2003 12:27:57 +0200 raph (oln/2_Makefile.a 1.30.1.1.1.2.1.9 640) @@ -23,7 +23,12 @@ dist_pkgdata_DATA = conf/configure conf/oln-config.shin -if OLN_CONFIG_SH +### +### Experimental stuff: read olena/conf/README +### + +#if OLN_CONFIG_SH + # FIXME: when the two following rules are enabled, they are # always run, resulting in errors if aclocal and/or autoconf # are not available. @@ -34,22 +39,27 @@ # $(srcdir)/conf/configure: $(srcdir)/conf/configure.ac $(srcdir)/conf/aclocal.m4 # cd $(srcdir)/conf && $(AUTOCONF) -install-data-hook: $(srcdir)/conf/configure $(srcdir)/conf/gen-scripts.sh $(srcdir)/conf/compilers.def - mkdir -p conf && $(SHELL) $(srcdir)/conf/gen-scripts.sh $(DESTDIR)$(includedir) $(srcdir)/conf ./conf - $(mkinstalldirs) $(DESTDIR)$(bindir) - @ for p in conf/oln-config-*.sh; do \ - if test -f $$p; then \ - f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ - else :; fi; \ - done - -uninstall-hook: - @ for p in conf/oln-config-*.sh; do \ - f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ - done +# +# FIXME: this section is ugly and exists because no good substitute +# has been found yet. Please improve. +# + +#install-data-hook: $(srcdir)/conf/configure $(srcdir)/conf/gen-scripts.sh $(srcdir)/conf/compilers.def +# mkdir -p conf && $(SHELL) $(srcdir)/conf/gen-scripts.sh $(DESTDIR)$(includedir) $(srcdir)/conf ./conf +# $(mkinstalldirs) $(DESTDIR)$(bindir) +# @ for p in conf/oln-config-*.sh; do \ +# if test -f $$p; then \ +# f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \ +# echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \ +# $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ +# else :; fi; \ +# done + +#uninstall-hook: +# @ for p in conf/oln-config-*.sh; do \ +# f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \ +# echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ +# rm -f $(DESTDIR)$(bindir)/$$f; \ +# done -endif +#endif Index: olena/conf/README --- olena/conf/README Mon, 25 Aug 2003 13:50:16 +0200 raph () +++ olena/conf/README Mon, 25 Aug 2003 13:48:40 +0200 raph (oln/v/14_README 644) @@ -0,0 +1,77 @@ + +Environment-specific configuration +================================== + + This directory contains programs, scripts and definitions intended + to provide the user who installs Olena with precomputed + configuration files (config.hh). + +Generalities +------------ + + The idea behind this is that Olena is not totally independent from + the compiler, standard library and architecture and needs some + form of configuration before being used. On the other hand, + nothing but details prevent a single installation from being used + with different compilers, standard libraries and architectures. + + These "details" are actually the combination of preprocessor + macros, or 'flags', that can be defined to enable optional + features or workarounds. There they are : + + * OLN_EXCEPTIONS, set to throw exceptions on error instead of + abort traps + + * USE_C_LIMITS, set if the C++ standard library does not provide + appropriate std::numeric_limits + + * _ISOC99_SOURCE, set to 1 to force the declaration of C99 + functions in the GNU C standard library + + * NEED_SQRTF, NEED_FLOORF, NEED_ROUND, NEED_ROUNDF, set if any of + these functions are not present in the math library and need to + be substituted by local definitions in Olena + + * HAVE_FFTW, set to 1 if the fftw library is available + + * HAVE_ZLIB, set to 1 if the zlib is available + + + + Because these flags are not numerous, it is simple for an Olena + user to provide them manually on the compilation command + line. + + However, it is traditional to provide them in a config.hh file + instead, that can contain definitions for other parts of the + user's project. Olena can then be told to use this file by + providing only the standard HAVE_CONFIG_H preprocessor macro + definition on the command line. + +Aim of the provided tools +------------------------- + + Because the process of actually chosing the right combination of + flags is a simple but potentially tedious operation, some efforts + have been made in order to provide tools to automatically generate + scripts specific to all available compiler configurations. + + Actually, the gen-scripts.sh program actually tests each known + compiler configuration XXX (as specified in compilers.def), and + generates a script program called 'oln-config-XXX.sh'. + + These scripts are in turn able to provide the necessary + compilation flags for Olena, in a manner similar to other GNU + -config files (such as gtk-config, kde-config and the like). + + For example, if Intel's C++ compiler (icc) is found to be + available and useable with Olena, gen-scripts.sh generates the + script 'oln-config-icc.sh' which itself can be used as such: + + oln-config-icc.sh --cxxflags # prints needed compiler flags + + oln-config-icc.sh --cxx # prints "icc" + + oln-config-icc.sh --help # displays available options + + -- . Raphaël Poss . . _ - --------\ : EPITA CSI 2003 ICQ 1757157 | | EpX -- ACU -- Activ' GnuPG fp bda2eb602866390c7a7d : \------ - _ . . a13ad7c86dd33b72e72b '
participants (1)
-
Raphaël Poss