Salome HOME
1a5746c0dd629604809bb07f8bd483493599bda5
[tools/yacsgen.git] / module_generator / mod_tmpl.py
1 try:
2   from string import Template
3 except:
4   from compat import Template,set
5
6 application="""
7 <application>
8 <prerequisites path="${prerequisites}"/>
9 <modules>
10 ${modules}
11 </modules>
12 </application>
13 """
14 application=Template(application)
15
16 autogen="""#!/bin/sh
17
18 rm -rf autom4te.cache
19 rm -f aclocal.m4 adm_local/ltmain.sh
20
21 echo "Running aclocal..."    ;
22 aclocal --force -I adm_local || exit 1
23 echo "Running autoheader..." ; autoheader --force -I adm_local            || exit 1
24 echo "Running autoconf..."   ; autoconf --force                    || exit 1
25 echo "Running libtoolize..." ; libtoolize --copy --force           || exit 1
26 echo "Running automake..."   ; automake --add-missing --copy       || exit 1
27 """
28
29 mainMakefile="""include $(top_srcdir)/adm_local/make_common_starter.am
30 SUBDIRS = idl resources src
31 ACLOCAL_AMFLAGS = -I adm_local
32 """
33
34 configure="""
35 AC_INIT(salome,4.1)
36 AC_CONFIG_AUX_DIR(adm_local)
37 AM_INIT_AUTOMAKE
38 AM_CONFIG_HEADER(${module}_config.h)
39
40 dnl Check Salome Install
41 CHECK_KERNEL
42 if test "x$$Kernel_ok" = "xno"; then
43   AC_MSG_ERROR([You must define a correct KERNEL_ROOT_DIR or use the --with-kernel= configure option !])
44 fi
45
46 AC_PROG_LIBTOOL
47 AC_PROG_CC
48 AC_PROG_CXX
49 CHECK_F77
50 CHECK_BOOST
51 CHECK_OMNIORB
52
53 MODULE_NAME=${module}
54 AC_SUBST(MODULE_NAME)
55
56 AC_CHECK_ASTER
57
58 echo
59 echo
60 echo
61 echo "------------------------------------------------------------------------"
62 echo "$$PACKAGE $$VERSION"
63 echo "------------------------------------------------------------------------"
64 echo
65 echo "Configuration Options Summary:"
66 echo
67 echo "Mandatory products:"
68 echo "  Threads ................ : $$threads_ok"
69 echo "  OmniOrb (CORBA) ........ : $$omniORB_ok"
70 echo "  OmniOrbpy (CORBA) ...... : $$omniORBpy_ok"
71 echo "  Python ................. : $$python_ok"
72 echo "  Boost  ................. : $$boost_ok"
73 echo "  SALOME KERNEL .......... : $$Kernel_ok"
74 echo "  Code Aster ............. : $$Aster_ok"
75 echo
76 echo "------------------------------------------------------------------------"
77 echo
78
79 if test "x$$threads_ok" = "xno"; then
80   AC_MSG_ERROR([Thread is required],1)
81 fi
82 if test "x$$python_ok" = "xno"; then
83   AC_MSG_ERROR([Python is required],1)
84 fi
85 if test "x$$omniORB_ok" = "xno"; then
86   AC_MSG_ERROR([OmniOrb is required],1)
87 fi
88 if test "x$$omniORBpy_ok" = "xno"; then
89   AC_MSG_ERROR([OmniOrbpy is required],1)
90 fi
91 if test "x$$Kernel_ok" = "xno"; then
92   AC_MSG_ERROR([Expat is required],1)
93 fi
94
95 AC_CONFIG_FILES([
96         Makefile
97         idl/Makefile
98         resources/Makefile
99         src/Makefile
100 ${makefiles}
101         ])
102 AC_OUTPUT
103 """
104 configure=Template(configure)
105
106 makecommon="""
107 # Standard directory for installation
108 salomeincludedir   = $(includedir)/salome
109 libdir             = $(prefix)/lib/salome
110 bindir             = $(prefix)/bin/salome
111 salomescriptdir    = $(bindir)
112 salomepythondir    = $(prefix)/lib/python$(PYTHON_VERSION)/site-packages/salome
113
114 # Directory for installing idl files
115 salomeidldir       = $(prefix)/idl/salome
116
117 # Directory for installing resource files
118 salomeresdir       = $(prefix)/share/salome/resources/${MODULE_NAME}
119
120 # Directories for installing admin files
121 admlocaldir       = $(prefix)/adm_local
122 admlocalunixdir     = $(admlocaldir)/unix
123 admlocalm4dir        = $(admlocaldir)/unix/config_files
124
125 # Shared modules installation directory
126 sharedpkgpythondir =$(pkgpythondir)/shared_modules
127
128 # Documentation directory
129 docdir             = $(datadir)/doc/salome
130
131 IDL_INCLUDES = -I$(KERNEL_ROOT_DIR)/idl/salome
132 KERNEL_LIBS= -L$(KERNEL_ROOT_DIR)/lib/salome -lSalomeContainer -lOpUtil -lSalomeDSCContainer -lSalomeDSCSuperv -lSalomeDatastream -lSalomeDSCSupervBasic -lCalciumC
133 KERNEL_INCLUDES= -I$(KERNEL_ROOT_DIR)/include/salome $(OMNIORB_INCLUDES) $(BOOST_CPPFLAGS)
134
135 """
136
137 resMakefile="""
138 include $$(top_srcdir)/adm_local/make_common_starter.am
139 DATA_INST = ${module}Catalog.xml
140 salomeres_DATA = $${DATA_INST}
141 EXTRA_DIST = $${DATA_INST}
142 """
143 resMakefile=Template(resMakefile)