SUBDIRS=. Tests
-DISTCLEANFILES=Makefile.in
+AM_CFLAGS= -DNDEBUG
+
+# -DNLOG cuts absolutely all logs at compilation time.
+# -DNDEBUG cuts asserts and logs at "trace" and "debug" levels.
+
+# -g -ffast-math -funroll-loops -O3 -fno-strict-aliasing
+# Those should be added by configure when using gcc
+# fast-math is nasty when using IEEE floating point semantic
+# strict-aliasing breaks my type-punning bad habit.
+
+
+MAINTAINERCLEANFILES=Makefile.in
INCLUDES= -I$(top_srcdir)/src/include \
- @CFLAGS_XML@ @CFLAGS_SimGrid@
-EXTRA_DIST= \
- gras_private.h \
- Core/dict_private.h
-# DataDesc/parse.yy.l
+ @CFLAGS_SimGrid@
+EXTRA_DIST= ./gras_private.h \
+ Core/dict_private.h \
+ Transport/transport_interface.h \
+ Virtu/virtu_interface.h \
+ Virtu/virtu_rl.h \
+ Virtu/virtu_sg.h \
+ DataDesc/ddt_parse.yy.l DataDesc/ddt_parse.yy.c
+
+#LIBRARY_VERSION= 0:0:0
+# | | |
+# +------+ | +---+
+# | | |
+# current:revision:age
+# | | |
+# | | +- Increment if interfaces have been added
+# | | Set to zero if interfaces have been removed or
+# | | changed
+# | +- Increment if source code has changed
+# | Set to zero if current is incremented
+# +- Increment if interfaces have been added, removed or changed
+VERSION_INFO= -release 20040722 -version-info 0:0:0
+# from `info libtool "Updating version info"`
+# and `info libtool "Release numbers"`
+#
+# A) For stable library (interface wise), you should use --version-info:
+#
+# - Begin with C:R:A = 0:0:0 (ie here, VERSION_INFO= -version-info 0:0:0)
+# - Do not update it before public release (keep numbers small)
+#
+# ----------------------------------------------------------------------+
+# + Interface | code of existing | Interface | New version info |
+# | removal/change? | interface changed? | addition? | |
+# +-----------------+--------------------+-----------+------------------+
+# | yes | must be yes ;) | | C++ : 0 : 0 |
+# | no | yes | yes | C : R++ : A++ |
+# | no | yes | no | C : R++ : A |
+# | no | no | yes | C : R : A++ |
+# | no | no | no | C : R : A |
+# +-----------------+--------------------+-----------+------------------+
+#
+# B) For rapidely changing library, you should go for the -release flag
+#
+# It modifies the library name, and you thus cannot say that a library
+# using this trick is ready for a "stable" release (say, in Debian).
-lib_LIBRARIES= libgrasrl.a libgrassg.a
+if HAVE_SG
+ lib_LTLIBRARIES= libgrasrl.la libgrassg.la
+else
+ lib_LTLIBRARIES= libgrasrl.la
+endif
-# Core/dict_multi.c
-# Common/gras.c Common/gras_datadesc.c Common/gras_msg.c
-# Messaging/messaging.c
-# Messaging/datadesc_simple.c
-# Transport/transport_sg.c
+# Core/config.c
COMMON_S=\
\
Core/dict.c Core/dict_elm.c Core/dict_cursor.c \
Core/set.c \
\
- Core/config.c \
\
- Transport/transport.c Transport/transport_private.h \
- Transport/transport_plugin_file.c \
- Transport/transport_plugin_tcp.c \
- Transport/transport_plugin_sg.c \
+ Transport/transport.c Transport/transport_private.h Transport/transport_plugin_buf.c \
\
- DataDesc/ddt_create.c DataDesc/ddt_declare.c \
- DataDesc/ddt_remote.c DataDesc/ddt_use.c \
- DataDesc/cbps.c DataDesc/datadesc.c \
- DataDesc/datadesc_interface.h DataDesc/datadesc_private.h
-
-
-# DataDesc/datadesc.c \
-# DataDesc/tools.c \
-# DataDesc/categories.h \
-# DataDesc/connection.h \
-# DataDesc/sequence.h \
-# DataDesc/net_driver.c DataDesc/net_driver.h \
-# DataDesc/net_driver_fd.c DataDesc/net_interface_fd.h \
-# DataDesc/type_driver_rl.c DataDesc/type_interface_rl.h \
-# DataDesc/type_driver.c DataDesc/type_driver.h \
-# DataDesc/message.c DataDesc/message.h \
-# DataDesc/type.c DataDesc/type.h \
-# DataDesc/parse.c DataDesc/parse.yy.h DataDesc/parse.yy.c \
-# DataDesc/vars.c
+ DataDesc/ddt_create.c \
+ DataDesc/ddt_convert.c DataDesc/ddt_exchange.c \
+ DataDesc/cbps.c DataDesc/datadesc.c \
+ DataDesc/datadesc_interface.h DataDesc/datadesc_private.h \
+ DataDesc/ddt_parse.c DataDesc/ddt_parse.yy.c DataDesc/ddt_parse.yy.h \
+ \
+ Msg/msg.c Msg/msg_interface.h Msg/msg_private.h \
+ \
+ Virtu/process.c
-DataDesc/parse.yy.c: DataDesc/parse.yy.l
- flex -o$@ -Pgras_ddt_ $^
+# DataDesc/ddt_declare.c
-libgrasrl_a_SOURCES= $(COMMON_S) \
- Transport/rl_transport.c \
- Virtu/rl_process.c Virtu/rl_time.c Virtu/rl_conditional.c
+DataDesc/ddt_parse.yy.c: DataDesc/ddt_parse.yy.l
+ @LEX@ -o$@ -Pgras_ddt_parse_ $^
-libgrassg_a_SOURCES= $(COMMON_S) \
- Transport/sg_transport.c \
- Virtu/sg_process.c Virtu/sg_time.c Virtu/sg_conditional.c
+libgrasrl_la_SOURCES= $(COMMON_S) \
+ Transport/rl_transport.c Transport/transport_plugin_tcp.c Transport/transport_plugin_file.c \
+ \
+ Virtu/rl_process.c Virtu/rl_time.c Virtu/rl_conditional.c
+libgrasrl_la_LDFLAGS = $(VERSION_INFO)
-# RL/gras_rl.c RL/gras_rl.h FIXME
+if HAVE_SG
+ libgrassg_la_SOURCES= $(COMMON_S) \
+ Transport/sg_transport.c Transport/transport_plugin_sg.c \
+ \
+ Virtu/sg_process.c Virtu/sg_time.c Virtu/sg_conditional.c
+ libgrassg_la_LDFLAGS = $(VERSION_INFO)
+endif