source: CMT/HEAD/mgr/requirements @ 662

Last change on this file since 662 was 662, checked in by rybkin, 10 years ago

See C.L. 521

  • Property svn:eol-style set to native
File size: 22.9 KB
Line 
1package CMT
2
3author arnault@lal.in2p3.fr
4
5tag CMTr15 CMTr14
6tag CMTr16 CMTr14
7tag CMTr18 CMTr16
8tag CMTr0  CMTr25
9
10tag CMTv0  CMTv1
11#
12#  Automatic detection of some system features.
13#
14
15
16# Getting info on the hardware
17macro cmt_hardware_query_command "uname -m" \
18      Darwin "uname -p" \
19      SunOS "uname -p" \
20      HP-UX "uname -m | sed -e 's#/##g'"
21
22macro cmt_hardware `$(cmt_hardware_query_command)` WIN32 "WIN32"
23
24apply_tag $(cmt_hardware)
25
26
27# Getting info about the OS
28macro cmt_system_version_query_command "uname -r " \
29      Linux "${CMTROOT}/mgr/cmt_linux_version.sh" \
30      SunOS "uname -r | sed -e 's#^#sunos#'" \
31      OSF1  "uname -r | sed -e 's#^#OSF#'" \
32      Darwin "${CMTROOT}/mgr/cmt_mac_version.sh" \
33      HP-UX "uname -r | sed -e 's#^#hpux#'" \
34      CYGWIN "uname -r | sed -e 's#[(].*##' -e 's#^#Cygwin#'" \
35      LynxOS "uname -r | sed -e 's#^#LynxOS#'"
36
37macro_append cmt_system_version_query_command " | ${CMTROOT}/mgr/cmt_filter_version.sh" \
38             WIN32 ""
39
40macro cmt_system_version   `$(cmt_system_version_query_command)`   WIN32 "XP"
41
42apply_tag $(cmt_system_version)
43
44
45# Getting info about the C++ compiler
46macro cmt_compiler_version_query_command "${CMTROOT}/mgr/cmt_gcc_version.sh | grep '^gcc'" \
47      Linux "${CMTROOT}/mgr/cmt_gcc_version.sh" \
48      SunOS "${CMTROOT}/mgr/cmt_CC_version.sh" \
49      OSF1  "${CMTROOT}/mgr/cmt_cxx_version.sh" \
50      Darwin "${CMTROOT}/mgr/cmt_dcc_version.sh" \
51      HP-UX "echo aCC" \
52      LynxOS "${CMTROOT}/mgr/cmt_gcc_version.sh"
53
54macro_append cmt_compiler_version_query_command " | ${CMTROOT}/mgr/cmt_filter3_version.sh" \
55             rhel3 " | ${CMTROOT}/mgr/cmt_filter3_version.sh" \
56             cel3  " | ${CMTROOT}/mgr/cmt_filter3_version.sh" \
57             WIN32 ""
58
59macro cmt_compiler_version `$(cmt_compiler_version_query_command)` WIN32 "cl"
60
61apply_tag $(cmt_compiler_version)
62
63tag OSF1           Unix
64tag Linux          Unix
65tag HP-UX          Unix
66tag Darwin         Unix
67tag LynxOS         Unix
68tag AIX            Unix
69tag SunOS          Unix
70
71tag CYGWIN_NT-5.1  Unix CYGWIN
72
73tag alpha          OSF1
74tag alpha_dux40    alpha
75tag alpha-debug    alpha debug
76
77tag LynxOS-VGPW2   LynxOS
78tag LynxOS-PowerPC LynxOS
79tag RIO806X        LynxOS
80tag VMTR2X         LynxOS
81
82tag hp9000s780     HP-UX
83tag hp9000s700     HP-UX
84tag hp700_ux101    HP-UX
85tag hp_ux102       HP-UX
86
87tag Linux-i686     Linux
88tag i386_redhat51  Linux
89tag i386_linux22   Linux
90
91tag rs_aix42       AIX
92
93tag sun4u          SunOS
94tag sun4x_57       SunOS
95
96tag rhel3          Linux
97tag cel3           Linux
98tag slc3           Linux
99
100# Alternate possible tags for VisualC
101tag VisualC        WIN32
102tag VisualC        Win32
103tag WIN32          VisualC
104
105# Some alternate definitions for debug on VisualC
106tag VisualCdbg     WIN32 windebug
107tag VisualD        WIN32 windebug
108tag VisualDbg      WIN32 windebug
109tag VisualDebug    WIN32 windebug
110tag VisualD        VisualC windebug
111tag VisualDbg      VisualC windebug
112tag Win32Debug     VisualC windebug
113
114# VSNET tags #
115tag VC7            vsnet
116tag VC7debug       vsnet windebug
117
118tag_exclude WIN32 Unix
119tag_exclude Win32 Unix
120
121#
122#  Global PATH variables management
123#
124
125path_remove  PATH      "CMT/v" \
126             WIN32     "CMT\v"
127
128path_append  PATH      "${CMTROOT}/${CMTBIN}" \
129             WIN32     "%CMTROOT%\%CMTBIN%"
130
131path_remove  CLASSPATH  "CMT"
132path_append  CLASSPATH  "${CMTROOT}/java" \
133             WIN32      "%CMTROOT%\java"
134
135path_append include    ""
136path_append lib        ""
137
138macro debug_option "-g" \
139      SunOS        "-G" \
140      WIN32        "/G"
141
142#
143#  C environment
144#
145
146macro cc              "gcc" \
147      insure          "insure" \
148      alpha           "cc" \
149      alphat          "cc" \
150      HP-UX           "aCC" \
151      hp700_ux101     "gcc" \
152      AIX             "xlc" \
153      SunOS           "cc" \
154      VisualC         "cl.exe" \
155      Darwin          "cc"
156
157macro cdebugflags     "" \
158      debug           "$(debug_option)"
159
160macro cflags          "" \
161      LynxOS-VGPW2    "-X" \
162      insure          "-std1" \
163      HP-UX           "+Z" \
164      hp700_ux101     "-fpic -ansi" \
165      alpha           "-std1" \
166      alphat          "-std1" \
167      SunOS           "-KPIC" \
168      VisualC         '/nologo /DWIN32 /MD /W3 $(includes) /c'
169
170macro pp_cflags       "" \
171      LynxOS-VGPW2    "-DVGPW2" \
172      HP-UX           "-D_HPUX_SOURCE" \
173      alphat          "-DCTHREADS" \
174      AIX             "-D_ALL_SOURCE -D_BSD"
175
176macro ccomp           "$(cc) -c $(includes) $(cdebugflags) $(cflags) $(pp_cflags)" \
177      VisualC         "cl.exe $(cdebugflags) $(cflags) $(pp_cflags)"
178
179macro clinkflags      ""
180
181macro clink           "$(cc) $(clinkflags) $(cdebugflags)" \
182      VisualC         "link.exe /nologo /machine:IX86 "
183
184macro cdepflags "" \
185      c_native_dependencies&Linux       "-MMD -MP -MF $*.d -MQ $@" \
186      c_native_dependencies&Darwin      "-MMD -MP -MF $*.d -MQ $@" \
187      c_native_dependencies&VisualC     "/showIncludes /E"
188
189#
190#  Developper Studio environment
191#
192
193macro msdevdll          "" \
194      VisualC           "/dll"
195
196macro msdevdllflags   "" \
197      VisualC         '/MT /D "_USRDLL" /D "WDLL_EXPORTS"' \
198      VisualD         '/MTd /D "_USRDLL" /D "WDLL_EXPORTS"'
199
200macro vsCONFIG        "" \
201      VC7             "Release" \
202      VC7debug        "Debug"
203
204macro vsOptimize      "" \
205      VC7             "2" \
206      VC7debug        "0"
207
208macro devenv_command      "" \
209      VS&WIN32            "devenv /?"
210
211#
212#  C++ environment
213#
214
215macro ppcmd           "-I" \
216      rs_aix41        "-WF,-I" \
217      VisualC         "/I "
218
219macro preproc         "g++ -MD -c " \
220      insure          "insure" \
221      alpha           "cxx" \
222      OSF1            "g++" \
223      HP-UX           "aCC" \
224      hp700_ux101     "g++" \
225      hp_ux102        "aCC" \
226      AIX             "xlC" \
227      Linux           "c++ -MD -c " \
228      SunOS           "CC" \
229      VisualC         "cl.exe" \
230      Darwin          "c++"
231
232macro cpp             "g++" \
233      insure          "insure" \
234      alpha           "cxx" \
235      OSF1            "g++" \
236      HP-UX           "aCC" \
237      hp700_ux101     "g++" \
238      hp_ux102        "aCC" \
239      AIX             "xlC" \
240      Linux           "c++" \
241      SunOS           "CC" \
242      VisualC         "cl.exe" \
243      Darwin          "c++"
244
245macro cppdebugflags   "" \
246      debug           "$(debug_option)"
247
248macro cppflags        "" \
249      alpha           "-nocompress -std arm -msg_quiet" \
250      OSF1            "-fpic" \
251      hp9000s780      "+Z" \
252      hp700_ux101     "-fpic" \
253      HP-UX           "+Z -Wc,-ansi_for_scope,on" \
254      hp_ux102        "-z +p -Wc,-ansi_for_scope,on +O2 +Onoinitcheck" \
255      Linux           "-pipe -ansi -pedantic -W -Wall -Wwrite-strings -Wpointer-arith -Woverloaded-virtual " \
256      SunOS           "-KPIC" \
257      VisualC         '/nologo /DWIN32 /MD /W3 $(includes) /c /EHsc'
258
259macro pp_cppflags     "" \
260      HP-UX           "-D_HPUX_SOURCE" \
261      Linux           "-D_GNU_SOURCE"
262
263macro cppcomp         "$(cpp) -c $(includes) $(cppdebugflags) $(cppflags) $(pp_cppflags)" \
264      VisualC         "cl.exe $(cppdebugflags) $(cppflags) $(pp_cppflags)"
265
266macro cpplinkflags    ""
267
268macro cpplink         "$(cpp) $(cpplinkflags) $(cppdebugflags)" \
269      VisualC         "link.exe /nologo /machine:I386"
270
271macro cpp_linkopts    "" \
272      OSF1            " -lstdc++ " \
273      alpha           " /usr/lib/cmplrs/cxx/libcxx.a -lcxxstd -lexc -lm " \
274      alphat          " /usr/lib/cmplrs/cxx/libcxx.a -lcxxstd -lexc -lm "
275
276macro cppdepflags "" \
277      cpp_native_dependencies&Linux       "-MMD -MP -MF $*.d -MQ $@" \
278      cpp_native_dependencies&Darwin      "-MMD -MP -MF $*.d -MQ $@" \
279      cpp_native_dependencies&VisualC     "/showIncludes /E"
280
281#
282#  Fortran environment
283#
284
285macro for             "f77" \
286      HP-UX           "fort77" \
287      rs_aix41        "xlf" \
288      Linux           "g77"
289
290macro fflags          "$(debug_option)" \
291      VisualC         ""
292
293macro fcomp           "$(for) -c $(fincludes) $(fflags) $(pp_fflags)" \
294      VisualC         ""
295
296macro flink           "$(for) $(flinkflags)"
297
298#
299#  Java environment
300#
301
302macro javacomp        "javac -classpath $(src):$(CLASSPATH) "
303macro javacopy        "cp"    VisualC "copy"
304macro jar             "jar"
305
306#
307#  X11 environment
308#
309
310macro X11_cflags      "-I/usr/include" \
311      HP-UX           "-I/usr/include/X11R5" \
312      SunOS           "-I/usr/motif/usr/include" \
313      VisualC         ""
314
315macro Xm_cflags       "-I/usr/include" \
316      HP-UX           "-I/usr/include/Motif1.2" \
317      SunOS           "-I/usr/motif/usr/include" \
318      VisualC         ""
319
320####      hp9000s700      "/usr/lib/Motif1.2/libXm.sl /usr/lib/X11R5/libXt.sl /usr/lib/X11R5/libX11.sl"
321
322macro X_linkopts      ""\
323      alpha           "-lXm -lXmu -lXt -lXext -lX11 -ldnet_stub -lm -lots"\
324      OSF1            "-lXm -lXmu -lXt -lXext -lX11 -ldnet_stub -lm -lots"\
325      insure          "-lXm -lXmu -lXt -lXext -lX11 -ldnet_stub -lm -lots"\
326      HP-UX           "-L/usr/lib -lXm -L/usr/contrib/X11R6/lib -lXmu -lXt -lXext -lX11" \
327      SunOS           "-L/usr/motif/usr/lib -lXm -lXt -lX11 -lm"\
328      LynxOS          "-lXt -lX11 -lm"\
329      Linux           "-L/usr/X11R6/lib -lXm -lXt -lXext -lX11 -lm"\
330      RIO806X         "-lXm -lXt -lXext -lX11 -lm"\
331      VGPW2           "-lXm -lXt -lXext -lX11 -lm"\
332      m68k            "-lXm -lXt -lXext -lX11 -lm"\
333      IRIX            "/usr/lib/libXm.so /usr/lib/libXt.so /usr/lib/libX11.so -lm -lPW"\
334      AIX             "/usr/lib/libXm.a /usr/lib/libXt.a /usr/lib/libX11.a -lm" \
335      VisualC         ""
336
337#
338# Lex environment
339#
340
341macro lexflags        ""
342macro lex             "lex $(lexflags)" \
343      i686            "flex $(lexflags)"
344
345#
346# Yacc environment
347#
348
349macro yaccflags       " -l -d " \
350      VisualC         ""
351
352macro yacc            "yacc $(yaccflags)"
353
354#
355#  Archive environment
356#
357
358macro ar              "ar -clr" \
359      SunOS           "ar clr" \
360      VGPW2           "ar clr" \
361      m68k            "ar clr" \
362      LynxOS          "ar clr" \
363      RIO806X         "ar clr" \
364      Linux           "ar cr" \
365      Darwin          "libtool -static -o" \
366      VisualC         "lib.exe /nologo "
367
368macro ranlib          "ranlib" \
369      SunOS           "ar ts" \
370      VGPW2           "ar ts" \
371      m68k            "ranlib" \
372      RIO806X         "ranlib" \
373      LynxOS          "ar ts" \
374      IRIX            "ar ts" \
375      Darwin          ":"
376
377macro make_shlib    "echo" \
378      HP-UX         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
379      OSF1          "${CMTROOT}/mgr/cmt_make_shlib_common.sh noextract" \
380      Linux         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
381      CYGWIN        "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
382      SunOS         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
383      Darwin        "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
384      VisualC       "%CMTROOT%\mgr\cmt_make_shlib.bat"
385
386macro shlibsuffix   "" \
387      HP-UX         "sl" \
388      OSF1          "so" \
389      SunOS         "so" \
390      Linux         "so" \
391      CYGWIN        "dll" \
392      Darwin        "dylib" \
393      WIN32         "dll"
394
395macro shlibbuilder  "" \
396      HP-UX         "aCC" \
397      OSF1          "ld" \
398      SunOS         "CC" \
399      Linux         "g++" \
400      CYGWIN        "g++" \
401      Darwin        "c++"
402
403macro shlibflags    "" \
404      HP-UX         "-Wl,-a,shared -b +Z -q -Wl,+s -Wl,+vallcompatwarnings" \
405      OSF1          "-shared -expect_unresolved '*'" \
406      Linux         "-shared" \
407      CYGWIN        "-shared" \
408      SunOS         "$(debug_option)" \
409      VisualC       "" \
410      Darwin        "-dynamiclib -flat_namespace -undefined suppress "
411
412macro symlink       "/bin/ln -fs " \
413      VisualC       ""
414
415macro symunlink     "/bin/rm -f " \
416      VisualC       ""
417
418macro library_install_command "${symlink}" \
419      VisualC                 "copy "
420
421macro build_library_links  "$(cmtexe) build library_links -tag=$(tags)"
422macro remove_library_links "$(cmtexe) remove library_links -tag=$(tags)"
423
424#
425# Prototype and dependency generation
426#
427
428macro cmtexe             "${CMTROOT}/${CMTBIN}/cmt.exe" \
429      WIN32              "%CMTROOT%\%CMTBIN%\cmt.exe"
430
431##macro tags               "$(CMTEXTRATAGS)"
432
433macro build_prototype    "$(cmtexe) build prototype"
434macro build_dependencies "$(cmtexe) -tag=$(tags) build dependencies"
435macro build_triggers     "$(cmtexe) build triggers"
436
437macro format_dependencies "" \
438      Linux        "${CMTROOT}/mgr/cmt_format_deps.sh" \
439      Darwin       "${CMTROOT}/mgr/cmt_format_deps.sh" \
440      VisualC      "%CMTROOT%\mgr\cmt_format_deps.bat"
441
442macro implied_library_prefix "-l" \
443      LynxOS                 "$(<PACKAGE>ROOT)/$(bin)/lib"
444
445macro implied_library_suffix "" \
446      VisualC                ".lib" \
447      LynxOS                 ".a"
448
449#
450# Generic environments
451#
452
453macro SHELL           "/bin/sh" WIN32 "cmd"
454
455macro q               '"'
456macro src             "../src/" WIN32 "..\src\"
457macro doc             "../doc/" WIN32 "..\doc\"
458macro inc             "../src/" WIN32 "..\src\"
459macro mgr             "../mgr/" WIN32 "..\mgr\"
460##macro javabin         "../classes/"
461
462macro application_suffix ".exe"
463macro library_prefix "lib" WIN32 "" CYGWIN ""
464macro library_suffix ""
465
466macro lock_command "" \
467      cmt_parallel_bins&Linux        "lockfile " \
468      cmt_parallel_bins&Darwin       "lockfile " \
469      cmt_parallel_bins&VisualC      "%CMTROOT%\mgr\cmt_lockfile.bat "
470
471macro unlock_command "rm -rf " \   
472      VisualC        "rmdir "
473
474macro lock_name "cmt"
475macro lock_suffix ".lock"
476macro lock_file "${lock_name}${lock_suffix}"
477
478
479macro svn_checkout_command "" \
480      Linux        "python ${CMTROOT}/mgr/cmt_svn_checkout.py " \
481      Darwin       "python ${CMTROOT}/mgr/cmt_svn_checkout.py " \
482      VisualC      "python %CMTROOT%\mgr\cmt_svn_checkout.py "
483
484macro preprocessor_command "" \
485      VisualC              ""
486
487#macro_append MAKEFLAGS " --no-print-directory "
488
489#macro_prepend constituents " configclean "
490
491#
492# Remote definitions
493#
494
495macro gmake_hosts "lx1 rsplus lxtest as7 dxplus ax7 hp2 aleph hp1 hpplus papou1-fe atlas"
496
497macro make_hosts  "virgo-control1 rio0a vmpc38a"
498
499macro everywhere  "hosts" \
500      LAL         "as7 lx1 virgo-control1 papou1-fe hp2 aleph hp1" \
501      LHCb        "lxtest hpplus dxplus rsplus" \
502      Atlas       "lxplus sundev" \
503      Cascina     "ax7 vmpc38a rio0a"
504
505
506#
507#  Fragments
508#
509
510make_fragment make_header
511make_fragment library_header
512make_fragment application_header
513make_fragment document_header
514make_fragment java_header
515make_fragment jar_header
516make_fragment protos_header
517make_fragment buildproto
518make_fragment library
519make_fragment library_no_share
520make_fragment library_no_static
521make_fragment application
522make_fragment jar
523make_fragment java
524make_fragment java_copy
525make_fragment cleanup_header
526make_fragment cleanup
527make_fragment cleanup_library
528make_fragment cleanup_application
529make_fragment cleanup_java
530make_fragment cleanup_objects
531
532make_fragment fortran
533make_fragment c
534make_fragment cpp
535make_fragment lex
536make_fragment yacc
537
538make_fragment fortran_library
539make_fragment c_library
540make_fragment cpp_library
541make_fragment lex_library
542make_fragment yacc_library
543
544make_fragment dsw_header
545make_fragment dsw_project
546make_fragment dsw_trailer
547make_fragment dsw_all_project_header
548make_fragment dsw_all_project_dependency
549make_fragment dsw_all_project_trailer
550
551make_fragment dsp_library_header
552make_fragment dsp_shared_library_header
553make_fragment dsp_application_header
554make_fragment dsp_windows_header
555make_fragment dsp_contents
556make_fragment dsp_trailer
557make_fragment dsp_all
558
559# vsnet fragments
560make_fragment vcproj_library_header
561make_fragment vcproj_application_header
562make_fragment vcproj_all
563make_fragment vcproj_trailer
564make_fragment vcproj_contents
565make_fragment vcproj_directory_header
566make_fragment vcproj_directory_trailer
567
568make_fragment sln_header
569make_fragment sln_project
570make_fragment sln_trailer
571make_fragment sln_project_config
572make_fragment sln_dependency_project
573
574make_fragment sln_dependency_header
575make_fragment sln_dependency_trailer
576
577#### all packages have same GUID, and the "all" project as well
578
579macro GUID_all     "" vsnet {DD1EDB1B-B098-44F8-8012-3039B5A56FEF}
580macro package_GUID "" vsnet {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
581
582make_fragment make_setup
583make_fragment make_setup_header
584
585make_fragment constituents_header
586make_fragment group
587make_fragment constituent
588make_fragment constituent_lock
589make_fragment constituent_app_lib
590make_fragment constituents_trailer
591
592make_fragment packages_header
593make_fragment package
594make_fragment packages_trailer
595
596make_fragment dependencies
597make_fragment dependencies_and_triggers
598make_fragment dependency
599
600make_fragment readme_header
601make_fragment readme
602#make_fragment readme_doc
603make_fragment readme_use
604make_fragment readme_trailer
605
606make_fragment tex -header=tex_header -suffix=ps
607
608make_fragment check_application
609make_fragment check_java
610make_fragment check_application_header
611
612make_fragment application_launcher -header=application_launcher_header
613
614make_fragment install_includes -header=install_includes_header
615
616macro install_command "cp " \
617      WIN32           "xcopy /S /E /Y "
618
619macro uninstall_command "/bin/rm -f " \
620      WIN32             "del "
621
622macro cmt_installarea_command "ln -fs " \
623      WIN32                   "xcopy /S /E /Y "
624
625macro cmt_uninstallarea_command "/bin/rm -f " \
626      WIN32                     "del "
627
628macro cmt_install_area_command "$(cmt_installarea_command)"
629macro cmt_uninstall_area_command "$(cmt_uninstallarea_command)"
630
631macro cmt_install_action       "$(CMTROOT)/mgr/cmt_install_action.sh" \
632      WIN32                    "$(CMTROOT)\mgr\cmt_install_action.bat"
633
634macro cmt_installdir_action    "$(CMTROOT)/mgr/cmt_installdir_action.sh" \
635      WIN32                    "$(CMTROOT)\mgr\cmt_installdir_action.bat"
636
637macro cmt_uninstall_action     "$(CMTROOT)/mgr/cmt_uninstall_action.sh" \
638      WIN32                    "$(CMTROOT)\mgr\cmt_uninstall_action.bat"
639
640macro cmt_uninstalldir_action  "$(CMTROOT)/mgr/cmt_uninstalldir_action.sh" \
641      WIN32                    "$(CMTROOT)\mgr\cmt_uninstalldir_action.bat"
642
643macro cmt_installdir_excludes  "" WIN32 "$(CMTROOT)\mgr\cmt_installdir_excludes.txt"
644
645action make "gmake bin=$(bin) $(cmt_args)" Darwin "make bin=$(bin) $(cmt_args)" CYGWIN "make bin=$(bin) $(cmt_args)" WIN32 "nmake /f nmake $(cmt_args) bin=$(bin) "
646# with NMake (Version 7.10.3077), the first macro definition on the command line
647# takes precedence over the following (if any)
648
649macro mkdir  "mkdir" \
650      LynxOS "mkdir -f"
651
652#-----------------------------------------------------------------
653# Generic copy facility
654#   It is customized through the parameter:
655#     install_dir="<path where to install the sources>"
656#
657make_fragment installer -header=installer_header
658
659
660#-----------------------------------------------------------------
661# Generic usage of the cmt expand model facility
662#   the fragment is customized through the following parameters:
663#    model="<model text string>"
664#    out="<output file name>"
665#
666make_fragment generator -header=generator_header
667
668#-----------------------------------------------------------------
669# Generic action runner
670#
671make_fragment cmt_action_runner -header=cmt_action_runner_header
672
673#
674# The supported languages
675#
676
677language fortran -suffix=f -suffix=F -preprocessor_command=$(ppcmd) -linker=$(flink)
678language c       -suffix=c -prototypes -linker=$(clink) -dependencies_options=$(cdepflags)
679language c++     -suffix=C -suffix=cc -suffix=cxx -suffix=cpp -fragment=cpp -linker=$(cpplink) -dependencies_options=$(cppdepflags)
680language java    -suffix=java -linker=java
681language yacc    -suffix=y -prototypes -linker=$(clink)
682language lex     -suffix=l -prototypes -linker=$(clink)
683
684#
685# Protocol level for the CVS pluggin
686#
687
688macro cmt_cvs_protocol_level "v1r1"
689
690#
691# The CMTPATH patterns for installation areas
692#
693
694macro cmt_installarea_prefix "InstallArea"
695
696cmtpath_pattern \
697  macro cmt_installarea_paths        " $(cmt_installarea_prefix)/$(CMTCONFIG)/bin" ; \
698  macro_prepend use_linkopts         " $(cmt_installarea_linkopts) " ; \
699  macro_append shlibbuilder          " $(cmt_installarea_linkopts) "
700
701cmtpath_pattern \
702  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/$(CMTCONFIG)/lib" ; \
703  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/share/lib" ; \
704  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/share/bin"
705 
706macro CMT_PATH_remove_regexp "/[^/]*/" WIN32 "\\[^\\]*\\"
707macro CMT_PATH_remove_share_regexp "/share/" WIN32 "\\share\\"
708
709cmtpath_pattern \
710  macro <project>_installarea_prefix "$(cmt_installarea_prefix)" ; \
711  macro <project>_installarea_prefix_remove "$(<project>_installarea_prefix)" ; \
712  path_remove_regexp PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_regexp)bin$" ; \
713  path_remove_regexp PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_regexp)lib$" ; \
714  path_remove_regexp LD_LIBRARY_PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)/[^/]*/lib$"  ; \
715  path_remove_regexp CLASSPATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_share_regexp)lib$" ; \
716  path_remove_regexp CLASSPATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_share_regexp)bin$"
717
718cmtpath_pattern \
719  path_prepend PATH "" \
720               <project>_with_installarea&WIN32 "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/bin" \
721               <project>_with_installarea&Unix "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/bin" ; \
722  path_prepend PATH "" \
723               <project>_with_installarea&WIN32 "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" \
724               <project>_with_installarea&CYGWIN "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" ; \
725  path_prepend LD_LIBRARY_PATH "" \
726               <project>_with_installarea&Unix "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" ; \
727  macro_prepend cmt_installarea_linkopts "" \
728                <project>_without_installarea "" \
729                <project>_with_installarea&Unix " -L<path>/$(<project>_installarea_prefix)/$(CMTCONFIG)/lib " \
730                <project>_with_installarea&WIN32 " /LIBPATH:<path>\$(<project>_installarea_prefix)\$(CMTCONFIG)\lib "                 
731   
732set NEWCMTCONFIG "${cmt_hardware}-${cmt_system_version}-${cmt_compiler_version}"
733
734#
735# The cmt constituent
736#
737
738application cmt -s=../source cmt.cxx \
739cmt_awk.cxx \
740cmt_branch.cxx \
741cmt_constituent.cxx \
742cmt_deps_builder.cxx \
743cmt_fragment.cxx \
744cmt_generator.cxx \
745cmt_include.cxx \
746cmt_parser.cxx \
747cmt_script.cxx \
748cmt_string.cxx \
749cmt_system.cxx \
750cmt_tag.cxx \
751cmt_use.cxx \
752cmt_symbol.cxx \
753cmt_error.cxx \
754cmt_pattern.cxx \
755cmt_language.cxx \
756cmt_vcs.cxx \
757cmt_group.cxx \
758cmt_database.cxx \
759cmt_lock.cxx \
760cmt_triggers.cxx \
761cmt_regexp.cxx \
762cmt_model.cxx \
763cmt_project.cxx \
764cmt_syntax.cxx \
765cmt_install_area.cxx \
766cmt_cmtpath_pattern.cxx \
767cmt_sequence.cxx \
768cmt_generators.cxx \
769cmt_scope_section.cxx \
770cmt_log.cxx \
771cmt_commands.cxx
772
773private
774
775macro all_constituents cmt
776
777macro_append cpplink "" VisualC " advapi32.lib "
Note: See TracBrowser for help on using the repository browser.