source: CMT/v1r20p20090520/mgr/requirements @ 668

Last change on this file since 668 was 502, checked in by rybkin, 15 years ago

See C.L. 397

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