source: CMT/HEAD/mgr/requirements @ 487

Last change on this file since 487 was 483, checked in by rybkin, 16 years ago

See C.L. 378

  • Property svn:eol-style set to native
File size: 22.4 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 "system_profiler -detailLevel -2 | grep 'System Version' | sed -e 's#[^.0-9 ]##g' -e 's#  *# #g' | cut -d ' ' -f2 | sed -e 's#^#mac#' " \
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      VisualC         "lib.exe /nologo "
363
364macro ranlib          "ranlib" \
365      SunOS           "ar ts" \
366      VGPW2           "ar ts" \
367      m68k            "ranlib" \
368      RIO806X         "ranlib" \
369      LynxOS          "ar ts" \
370      IRIX            "ar ts"
371
372macro make_shlib    "echo" \
373      HP-UX         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
374      OSF1          "${CMTROOT}/mgr/cmt_make_shlib_common.sh noextract" \
375      Linux         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
376      CYGWIN        "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
377      SunOS         "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
378      Darwin        "${CMTROOT}/mgr/cmt_make_shlib_common.sh extract" \
379      VisualC       "%CMTROOT%\mgr\cmt_make_shlib.bat"
380
381macro shlibsuffix   "" \
382      HP-UX         "sl" \
383      OSF1          "so" \
384      SunOS         "so" \
385      Linux         "so" \
386      CYGWIN        "dll" \
387      Darwin        "dylib" \
388      WIN32         "dll"
389
390macro shlibbuilder  "" \
391      HP-UX         "aCC" \
392      OSF1          "ld" \
393      SunOS         "CC" \
394      Linux         "g++" \
395      CYGWIN        "g++" \
396      Darwin        "c++"
397
398macro shlibflags    "" \
399      HP-UX         "-Wl,-a,shared -b +Z -q -Wl,+s -Wl,+vallcompatwarnings" \
400      OSF1          "-shared -expect_unresolved '*'" \
401      Linux         "-shared" \
402      CYGWIN        "-shared" \
403      SunOS         "$(debug_option)" \
404      VisualC       "" \
405      Darwin        "-dynamiclib -flat_namespace -undefined suppress "
406
407macro symlink       "/bin/ln -fs " \
408      VisualC       ""
409
410macro symunlink     "/bin/rm -f " \
411      VisualC       ""
412
413macro library_install_command "${symlink}" \
414      VisualC                 "copy "
415
416macro build_library_links  "$(cmtexe) build library_links -tag=$(tags)"
417macro remove_library_links "$(cmtexe) remove library_links -tag=$(tags)"
418
419#
420# Prototype and dependency generation
421#
422
423macro cmtexe             "${CMTROOT}/${CMTBIN}/cmt.exe" \
424      WIN32              "%CMTROOT%\%CMTBIN%\cmt.exe"
425
426##macro tags               "$(CMTEXTRATAGS)"
427
428macro build_prototype    "$(cmtexe) build prototype"
429macro build_dependencies "$(cmtexe) -tag=$(tags) build dependencies"
430macro build_triggers     "$(cmtexe) build triggers"
431
432macro format_dependencies "" \
433      Linux        "${CMTROOT}/mgr/cmt_format_deps.sh" \
434      Darwin       "${CMTROOT}/mgr/cmt_format_deps.sh" \
435      VisualC      "%CMTROOT%\mgr\cmt_format_deps.bat /no_stamps"
436
437macro implied_library_prefix "-l" \
438      LynxOS                 "$(<PACKAGE>ROOT)/$(bin)/lib"
439
440macro implied_library_suffix "" \
441      VisualC                ".lib" \
442      LynxOS                 ".a"
443
444#
445# Generic environments
446#
447
448macro SHELL           "/bin/sh" WIN32 "cmd"
449
450macro q               '"'
451macro src             "../src/" WIN32 "..\src\"
452macro doc             "../doc/" WIN32 "..\doc\"
453macro inc             "../src/" WIN32 "..\src\"
454macro mgr             "../mgr/" WIN32 "..\mgr\"
455##macro javabin         "../classes/"
456
457macro application_suffix ".exe"
458macro library_prefix "lib" WIN32 "" CYGWIN ""
459macro library_suffix ""
460
461macro lock_command "" \
462      Linux        "lockfile " \
463      Darwin       "lockfile " \
464      VisualC      "%CMTROOT%\mgr\cmt_lockfile.bat "
465
466macro unlock_command "rm -rf " \   
467      VisualC        "rmdir "
468
469macro lock_name "cmt"
470macro lock_suffix ".lock"
471macro lock_file "${lock_name}${lock_suffix}"
472
473macro preprocessor_command "" \
474      VisualC              ""
475
476macro_append MAKEFLAGS " --no-print-directory "
477
478#macro_prepend constituents " configclean "
479
480#
481# Remote definitions
482#
483
484macro gmake_hosts "lx1 rsplus lxtest as7 dxplus ax7 hp2 aleph hp1 hpplus papou1-fe atlas"
485
486macro make_hosts  "virgo-control1 rio0a vmpc38a"
487
488macro everywhere  "hosts" \
489      LAL         "as7 lx1 virgo-control1 papou1-fe hp2 aleph hp1" \
490      LHCb        "lxtest hpplus dxplus rsplus" \
491      Atlas       "lxplus sundev" \
492      Cascina     "ax7 vmpc38a rio0a"
493
494
495#
496#  Fragments
497#
498
499make_fragment make_header
500make_fragment library_header
501make_fragment application_header
502make_fragment document_header
503make_fragment java_header
504make_fragment jar_header
505make_fragment protos_header
506make_fragment buildproto
507make_fragment library
508make_fragment library_no_share
509make_fragment library_no_static
510make_fragment application
511make_fragment jar
512make_fragment java
513make_fragment java_copy
514make_fragment cleanup_header
515make_fragment cleanup
516make_fragment cleanup_library
517make_fragment cleanup_application
518make_fragment cleanup_java
519make_fragment cleanup_objects
520
521make_fragment fortran
522make_fragment c
523make_fragment cpp
524make_fragment lex
525make_fragment yacc
526
527make_fragment fortran_library
528make_fragment c_library
529make_fragment cpp_library
530make_fragment lex_library
531make_fragment yacc_library
532
533make_fragment dsw_header
534make_fragment dsw_project
535make_fragment dsw_trailer
536make_fragment dsw_all_project_header
537make_fragment dsw_all_project_dependency
538make_fragment dsw_all_project_trailer
539
540make_fragment dsp_library_header
541make_fragment dsp_shared_library_header
542make_fragment dsp_application_header
543make_fragment dsp_windows_header
544make_fragment dsp_contents
545make_fragment dsp_trailer
546make_fragment dsp_all
547
548# vsnet fragments
549make_fragment vcproj_library_header
550make_fragment vcproj_application_header
551make_fragment vcproj_all
552make_fragment vcproj_trailer
553make_fragment vcproj_contents
554make_fragment vcproj_directory_header
555make_fragment vcproj_directory_trailer
556
557make_fragment sln_header
558make_fragment sln_project
559make_fragment sln_trailer
560make_fragment sln_project_config
561make_fragment sln_dependency_project
562
563make_fragment sln_dependency_header
564make_fragment sln_dependency_trailer
565
566#### all packages have same GUID, and the "all" project as well
567
568macro GUID_all     "" vsnet {DD1EDB1B-B098-44F8-8012-3039B5A56FEF}
569macro package_GUID "" vsnet {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
570
571make_fragment make_setup
572make_fragment make_setup_header
573
574make_fragment constituents_header
575make_fragment group
576make_fragment constituent
577make_fragment constituent_lock
578make_fragment constituents_trailer
579
580make_fragment dependencies
581make_fragment dependencies_and_triggers
582
583make_fragment readme_header
584make_fragment readme
585make_fragment readme_doc
586make_fragment readme_use
587make_fragment readme_trailer
588
589make_fragment tex -header=tex_header -suffix=ps
590
591make_fragment check_application
592make_fragment check_java
593make_fragment check_application_header
594
595make_fragment application_launcher -header=application_launcher_header
596
597make_fragment install_includes -header=install_includes_header
598
599macro install_command "cp " \
600      WIN32           "xcopy /S /E /Y "
601
602macro uninstall_command "/bin/rm -f " \
603      WIN32             "del "
604
605macro cmt_installarea_command "ln -fs " \
606      WIN32                   "xcopy /S /E /Y "
607
608macro cmt_uninstallarea_command "/bin/rm -f " \
609      WIN32                     "del "
610
611macro cmt_install_area_command "$(cmt_installarea_command)"
612macro cmt_uninstall_area_command "$(cmt_uninstallarea_command)"
613
614macro cmt_install_action       "$(CMTROOT)/mgr/cmt_install_action.sh" \
615      WIN32                    "$(CMTROOT)\mgr\cmt_install_action.bat"
616
617macro cmt_installdir_action    "$(CMTROOT)/mgr/cmt_installdir_action.sh" \
618      WIN32                    "$(CMTROOT)\mgr\cmt_installdir_action.bat"
619
620macro cmt_uninstall_action     "$(CMTROOT)/mgr/cmt_uninstall_action.sh" \
621      WIN32                    "$(CMTROOT)\mgr\cmt_uninstall_action.bat"
622
623macro cmt_uninstalldir_action  "$(CMTROOT)/mgr/cmt_uninstalldir_action.sh" \
624      WIN32                    "$(CMTROOT)\mgr\cmt_uninstalldir_action.bat"
625
626macro cmt_installdir_excludes  "" WIN32 "$(CMTROOT)\mgr\cmt_installdir_excludes.txt"
627
628action 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)"
629# with NMake (Version 7.10.3077), the first macro definition on the command line
630# takes precedence over the following (if any)
631
632macro mkdir  "mkdir" \
633      LynxOS "mkdir -f"
634
635#-----------------------------------------------------------------
636# Generic copy facility
637#   It is customized through the parameter:
638#     install_dir="<path where to install the sources>"
639#
640make_fragment installer -header=installer_header
641
642
643#-----------------------------------------------------------------
644# Generic usage of the cmt expand model facility
645#   the fragment is customized through the following parameters:
646#    model="<model text string>"
647#    out="<output file name>"
648#
649make_fragment generator -header=generator_header
650
651#-----------------------------------------------------------------
652# Generic action runner
653#
654make_fragment cmt_action_runner -header=cmt_action_runner_header
655
656#
657# The supported languages
658#
659
660language fortran -suffix=f -suffix=F -preprocessor_command=$(ppcmd) -linker=$(flink)
661language c       -suffix=c -prototypes -linker=$(clink) -dependencies_options=$(cdepflags)
662language c++     -suffix=C -suffix=cc -suffix=cxx -suffix=cpp -fragment=cpp -linker=$(cpplink) -dependencies_options=$(cppdepflags)
663language java    -suffix=java -linker=java
664language yacc    -suffix=y -prototypes -linker=$(clink)
665language lex     -suffix=l -prototypes -linker=$(clink)
666
667#
668# Protocol level for the CVS pluggin
669#
670
671macro cmt_cvs_protocol_level "v1r1"
672
673#
674# The CMTPATH patterns for installation areas
675#
676
677macro cmt_installarea_prefix "InstallArea"
678
679cmtpath_pattern \
680  macro cmt_installarea_paths        " $(cmt_installarea_prefix)/$(CMTCONFIG)/bin" ; \
681  macro_prepend use_linkopts         " $(cmt_installarea_linkopts) " ; \
682  macro_append shlibbuilder          " $(cmt_installarea_linkopts) "
683
684cmtpath_pattern \
685  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/$(CMTCONFIG)/lib" ; \
686  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/share/lib" ; \
687  macro_append cmt_installarea_paths "" <project>_with_installarea " $(<project>_installarea_prefix)/share/bin"
688 
689macro CMT_PATH_remove_regexp "/[^/]*/" WIN32 "\\[^\\]*\\"
690macro CMT_PATH_remove_share_regexp "/share/" WIN32 "\\share\\"
691
692cmtpath_pattern \
693  macro <project>_installarea_prefix "$(cmt_installarea_prefix)" ; \
694  macro <project>_installarea_prefix_remove "$(<project>_installarea_prefix)" ; \
695  path_remove_regexp PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_regexp)bin$" ; \
696  path_remove_regexp PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_regexp)lib$" ; \
697  path_remove_regexp LD_LIBRARY_PATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)/[^/]*/lib$"  ; \
698  path_remove_regexp CLASSPATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_share_regexp)lib$" ; \
699  path_remove_regexp CLASSPATH "" <project>_with_installarea "$(<project>_installarea_prefix_remove)$(CMT_PATH_remove_share_regexp)bin$"
700
701cmtpath_pattern \
702  path_prepend PATH "" \
703               <project>_with_installarea&WIN32 "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/bin" \
704               <project>_with_installarea&Unix "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/bin" ; \
705  path_prepend PATH "" \
706               <project>_with_installarea&WIN32 "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" \
707               <project>_with_installarea&CYGWIN "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" ; \
708  path_prepend LD_LIBRARY_PATH "" \
709               <project>_with_installarea&Unix "<path>/$(<project>_installarea_prefix)/${CMTCONFIG}/lib" ; \
710  macro_prepend cmt_installarea_linkopts "" \
711                <project>_without_installarea "" \
712                <project>_with_installarea&Unix " -L<path>/$(<project>_installarea_prefix)/$(CMTCONFIG)/lib " \
713                <project>_with_installarea&WIN32 " /LIBPATH:<path>\$(<project>_installarea_prefix)\$(CMTCONFIG)\lib "                 
714   
715set NEWCMTCONFIG "${cmt_hardware}-${cmt_system_version}-${cmt_compiler_version}"
716
717#
718# The cmt constituent
719#
720
721application cmt -s=../source cmt.cxx \
722cmt_awk.cxx \
723cmt_branch.cxx \
724cmt_constituent.cxx \
725cmt_deps_builder.cxx \
726cmt_fragment.cxx \
727cmt_generator.cxx \
728cmt_include.cxx \
729cmt_parser.cxx \
730cmt_script.cxx \
731cmt_string.cxx \
732cmt_system.cxx \
733cmt_tag.cxx \
734cmt_use.cxx \
735cmt_symbol.cxx \
736cmt_error.cxx \
737cmt_pattern.cxx \
738cmt_language.cxx \
739cmt_cvs.cxx \
740cmt_group.cxx \
741cmt_database.cxx \
742cmt_lock.cxx \
743cmt_triggers.cxx \
744cmt_regexp.cxx \
745cmt_model.cxx \
746cmt_project.cxx \
747cmt_syntax.cxx \
748cmt_install_area.cxx \
749cmt_cmtpath_pattern.cxx \
750cmt_sequence.cxx \
751cmt_generators.cxx \
752cmt_scope_section.cxx \
753cmt_log.cxx \
754cmt_commands.cxx
755
756private
757
758macro all_constituents cmt
759
760macro_append cpplink "" VisualC " advapi32.lib "
Note: See TracBrowser for help on using the repository browser.