added variables to pc file
[libt2n] / codegen / TODO
index bc1720a..cbc6c1c 100644 (file)
@@ -1,5 +1,36 @@
-- configure.in sed s,CODEGEN,XMLPP, oder so
-- one group splitted into multiple .cpp files (=> add support for multiple xml input files)
 - remove support for LIBT2N_EXPORT_GROUP(group) (this will simplify the generator a lot)
-- add option similar to gccs -MD
-- remove export file argument (or multiple export files?)
\ No newline at end of file
+- add option similar to gccs -MD (at the moment it is a fixed set of files generated and
+  they are handled in the makefile)
+
+open questions:
+- should projects using the codegen depend on installed version of ... or ship their own version?
+       * codegen binary: no
+       * Makefile snippet: no
+       * codegen-stubhead.hxx
+- get rid of codegen-stubhead.hxx or include a "copy" in each project
+- makefile snippet must work for builds outside of libt2n
+  (=> some variables must be set by configure, the snippet must be installed
+   => pc file template must be installed, too)
+
+   the variables which must be set:
+       LIBT2N_CODEGEN="\$(top_builddir)/codegen/libt2n-codegen"
+       LIBT2N_CLIENT_PCTEMPLATE="\$(top_srcdir)/codegen/clientlib.pc.in"
+       LIBT2N_CODEGEN_MAKESNIPPET="include \$(top_srcdir)/codegen/codegen.make"
+
+   LIBT2N_CODEGEN will be handled by AC_PATH_PROG
+   the other two? can't we use pkgconfig?!
+   perhaps best provide a m4 macro for use with autoconf?
+   
+       AC_DEFUN([LIBT2N_CODEGEN ...
+
+   alternatively we could add a option --datadir to codegen which prints out the
+   path to clientlib.pc.in and codegen.make
+   (first solution is the better one)
+
+   we can use pkg-config => best solution
+
+- it would really be much nicer if the client lib includes would not depend upon boost serialization
+  i thought a solution would be to provide this optionally by wrapping the corresponding includes in a #ifdef
+  but this does not work since command.hxx is included which depends on boost serialization headers anyway
+  => we do not provide this for now
+