- Timestamp:
- Jan 11, 2013, 11:23:19 AM (11 years ago)
- Location:
- CMT/HEAD
- Files:
-
- 1 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/ChangeLog
r627 r628 1 2013-01-11 <rybkin@lal.in2p3.fr> 499 2 3 * source/cmt_generators.cxx: In class LibraryGenerator function build, 4 depending on constituent attribute need_prototypes, set m_HASPROTOTYPES 5 accordingly and fill jar_header, java_header, library_header, 6 application_header makefiles fragments with value, in class 7 ConstituentsMakefileGenerator constructor, in function reset, handle 8 introduced fragment constituent_app_lib, in function build, set 9 m_HASPROTOTYPES according to constituent attribute need_prototypes, fill 10 introduced fragment constituent_app_lib with value 11 * source/cmt_generators.h: In class ConstituentsMakefileGenerator, 12 introduce member for fragment constituent_app_lib 13 * source/cmt_generator.h: In class CmtGenerator, introduce member m_HASPROTOTYPES 14 * source/cmt_generator.cxx: In class CmtGenerator constructor, in function 15 reset, handle introduced member m_HASPROTOTYPES 16 * source/cmt_parser.cxx: In class StandardMacroBuilder function 17 fill_for_constituent_macros, define macros <constituent>compile_dependencies, 18 <constituent>prototype_dependencies for applications, libraries 19 * mgr/fragments/constituent_app_lib: Introduce makefiles fragment for 20 applications, libraries in order to compile dependent constituents in 21 parallel 22 * mgr/fragments/constituent: Remove unused code, add empty command for 23 double-colon rules without one (so that implicit rule is not searched for) 24 * mgr/fragments/constituent_lock: idem 25 * mgr/fragments/application_header: Add rules for ${CONSTITUENT}compile, 26 ${CONSTITUENT}prototype targets 27 * mgr/fragments/java_header: idem 28 * mgr/fragments/library_header: idem 29 * mgr/fragments/jar_header: idem 30 * mgr/fragments/library: Create shared library stamp in same rule as library 31 * mgr/fragments/library_no_static: Create library stamps in same rule as 32 library 33 * mgr/fragments/jar: Add empty command for double-colon rules without one (so that implicit rule is not searched for) 34 * mgr/fragments/java: Create necessary directory in compilation rule to 35 avoid race condition 36 * mgr/requirements: Declare makefiles fragment constituent_app_lib 37 1 38 2013-01-03 <rybkin@lal.in2p3.fr> 498 2 39 -
CMT/HEAD/mgr/fragments/application_header
r441 r628 4 4 $(echo) "${CONSTITUENT} ok" 5 5 6 cmt_${CONSTITUENT}_${HASPROTOTYPES} = 1 7 8 #-------------------------------------- 9 10 ifdef cmt_${CONSTITUENT}_has_prototypes 11 12 ${CONSTITUENT}prototype : ${PROTOTARGET} ; 13 14 endif 15 16 ${CONSTITUENT}compile : ${OBJS} ; 17 6 18 #-- end of application_header -
CMT/HEAD/mgr/fragments/constituent
r588 r628 3 3 cmt_${CONSTITUENT}_${HASTARGETTAG} = 1 4 4 5 #-------------------------------------- ------------------5 #-------------------------------------- 6 6 7 7 ifdef cmt_${CONSTITUENT}_has_target_tag 8 8 9 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.make10 9 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.make 11 cmt_local_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}$$$$.make12 10 cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make 13 #cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make14 11 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make 15 12 16 13 ${CONSTITUENT}_extratags = -tag_add=target_${CONSTITUENT} 17 14 18 #$(cmt_local_tagfile_${CONSTITUENT}) : $(cmt_lock_setup)19 ifndef QUICK20 $(cmt_local_tagfile_${CONSTITUENT}) ::21 else22 $(cmt_local_tagfile_${CONSTITUENT}) :23 endif24 $(echo) "(constituents.make) Rebuilding $@"; \25 if test -f $(cmt_local_tagfile_${CONSTITUENT}); then /bin/rm -f $(cmt_local_tagfile_${CONSTITUENT}); fi ; \26 $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >>$(cmt_local_tagfile_${CONSTITUENT})27 $(echo) "(constituents.make) Rebuilding $(cmt_final_setup_${CONSTITUENT})"; \28 test ! -f $(cmt_local_setup_${CONSTITUENT}) || \rm -f $(cmt_local_setup_${CONSTITUENT}); \29 trap '\rm -f $(cmt_local_setup_${CONSTITUENT})' 0 1 2 15; \30 $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_local_setup_${CONSTITUENT}) && \31 if [ -f $(cmt_final_setup_${CONSTITUENT}) ] && \32 \cmp -s $(cmt_final_setup_${CONSTITUENT}) $(cmt_local_setup_${CONSTITUENT}); then \33 \rm $(cmt_local_setup_${CONSTITUENT}); else \34 \mv -f $(cmt_local_setup_${CONSTITUENT}) $(cmt_final_setup_${CONSTITUENT}); fi35 36 15 else 37 16 38 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).make39 17 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).make 40 18 cmt_final_setup_${CONSTITUENT} = $(bin)setup.make 41 #cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make42 19 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make 43 20 … … 53 30 ${CONSTITUENT}dirs : ; 54 31 endif 55 56 #ifndef QUICK57 #ifdef STRUCTURED_OUTPUT58 # ${CONSTITUENT}dirs ::59 # @if test ! -d $(bin)${CONSTITUENT}; then $(mkdir) -p $(bin)${CONSTITUENT}; fi60 # $(echo) "STRUCTURED_OUTPUT="$(bin)${CONSTITUENT}61 #62 #$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs ${CONSTITUENT}dirs63 #else64 #$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs65 #endif66 #else67 #$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})68 #endif69 32 70 33 ifdef cmt_${CONSTITUENT}_has_target_tag … … 114 77 $(echo) "(constituents.make) ${CONSTITUENT} done" 115 78 116 clean :: ${CONSTITUENT}clean 79 clean :: ${CONSTITUENT}clean ; 117 80 118 81 ${CONSTITUENT}clean :: $(${CONSTITUENT}clean_dependencies) ##$(cmt_local_${CONSTITUENT}_makefile) … … 126 89 ## /bin/rm -f $(cmt_local_${CONSTITUENT}_makefile) $(bin)${CONSTITUENT}_dependencies.make 127 90 128 install :: ${CONSTITUENT}install 91 install :: ${CONSTITUENT}install ; 129 92 130 93 ${CONSTITUENT}install :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) … … 145 108 $(echo) "(constituents.make) uninstall ${CONSTITUENT} done" 146 109 147 remove_library_links :: ${CONSTITUENT}uninstall 110 remove_library_links :: ${CONSTITUENT}uninstall ; 148 111 149 112 ifndef PEDANTIC -
CMT/HEAD/mgr/fragments/constituent_lock
r588 r628 7 7 ifdef cmt_${CONSTITUENT}_has_target_tag 8 8 9 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag)_${CONSTITUENT}.make10 9 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag)_${CONSTITUENT}.make 11 cmt_local_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}$$$$.make12 10 cmt_final_setup_${CONSTITUENT} = $(bin)setup_${CONSTITUENT}.make 13 #cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}_${CONSTITUENT}setup.make14 11 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make 15 12 16 13 ${CONSTITUENT}_extratags = -tag_add=target_${CONSTITUENT} 17 14 18 #$(cmt_local_tagfile_${CONSTITUENT}) : $(cmt_lock_setup)19 ifndef QUICK20 $(cmt_local_tagfile_${CONSTITUENT}) ::21 else22 $(cmt_local_tagfile_${CONSTITUENT}) :23 endif24 $(echo) "(constituents.make) Rebuilding $@"; \25 if test -f $(cmt_local_tagfile_${CONSTITUENT}); then /bin/rm -f $(cmt_local_tagfile_${CONSTITUENT}); fi ; \26 $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) build tag_makefile >>$(cmt_local_tagfile_${CONSTITUENT})27 $(echo) "(constituents.make) Rebuilding $(cmt_final_setup_${CONSTITUENT})"; \28 test ! -f $(cmt_local_setup_${CONSTITUENT}) || \rm -f $(cmt_local_setup_${CONSTITUENT}); \29 trap '\rm -f $(cmt_local_setup_${CONSTITUENT})' 0 1 2 15; \30 $(cmtexe) -tag=$(tags) $(${CONSTITUENT}_extratags) show setup >$(cmt_local_setup_${CONSTITUENT}) && \31 if [ -f $(cmt_final_setup_${CONSTITUENT}) ] && \32 \cmp -s $(cmt_final_setup_${CONSTITUENT}) $(cmt_local_setup_${CONSTITUENT}); then \33 \rm $(cmt_local_setup_${CONSTITUENT}); else \34 \mv -f $(cmt_local_setup_${CONSTITUENT}) $(cmt_final_setup_${CONSTITUENT}); fi35 36 15 else 37 16 38 #cmt_local_tagfile_${CONSTITUENT} = $(${PACKAGE}_tag).make39 17 cmt_local_tagfile_${CONSTITUENT} = $(bin)$(${PACKAGE}_tag).make 40 18 cmt_final_setup_${CONSTITUENT} = $(bin)setup.make 41 #cmt_final_setup_${CONSTITUENT} = $(bin)${PACKAGE}setup.make42 19 cmt_local_${CONSTITUENT}_makefile = $(bin)${CONSTITUENT}.make 43 20 … … 53 30 ${CONSTITUENT}dirs : ; 54 31 endif 55 56 #ifndef QUICK57 #ifdef STRUCTURED_OUTPUT58 # ${CONSTITUENT}dirs ::59 # @if test ! -d $(bin)${CONSTITUENT}; then $(mkdir) -p $(bin)${CONSTITUENT}; fi60 # $(echo) "STRUCTURED_OUTPUT="$(bin)${CONSTITUENT}61 #62 #$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs ${CONSTITUENT}dirs63 #else64 #$(cmt_local_${CONSTITUENT}_makefile) :: $(${CONSTITUENT}_dependencies) $(cmt_local_tagfile_${CONSTITUENT}) build_library_links dirs65 #endif66 #else67 #$(cmt_local_${CONSTITUENT}_makefile) :: $(cmt_local_tagfile_${CONSTITUENT})68 #endif69 32 70 33 ifdef cmt_${CONSTITUENT}_has_target_tag … … 129 92 ## /bin/rm -f $(cmt_local_${CONSTITUENT}_makefile) $(bin)${CONSTITUENT}_dependencies.make 130 93 131 install :: ${CONSTITUENT}install 94 install :: ${CONSTITUENT}install ; 132 95 133 96 ${CONSTITUENT}install :: $(${CONSTITUENT}_dependencies) $(cmt_local_${CONSTITUENT}_makefile) … … 148 111 $(echo) "(constituents.make) uninstall ${CONSTITUENT} done" 149 112 150 remove_library_links :: ${CONSTITUENT}uninstall 113 remove_library_links :: ${CONSTITUENT}uninstall ; 151 114 152 115 ifndef PEDANTIC -
CMT/HEAD/mgr/fragments/jar
r441 r628 8 8 ${CONSTITUENT}installname = ${CONSTITUENT}.jar 9 9 10 ${CONSTITUENT} :: ${CONSTITUENT}install 10 ${CONSTITUENT} :: ${CONSTITUENT}install ; 11 11 12 install :: ${CONSTITUENT}install 12 install :: ${CONSTITUENT}install ; 13 13 14 14 ${CONSTITUENT}install :: $(install_dir)/$(${CONSTITUENT}installname) … … 29 29 ##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall 30 30 31 uninstall :: ${CONSTITUENT}uninstall 31 uninstall :: ${CONSTITUENT}uninstall ; 32 32 33 33 ${CONSTITUENT}uninstall :: … … 41 41 42 42 ${CONSTITUENT}clean :: 43 $(cleanup_silent) /bin/rm -rf $(javabin) /${CONSTITUENT}44 $(cleanup_silent) /bin/rm -f $(javabin) /${CONSTITUENT}.jar43 $(cleanup_silent) /bin/rm -rf $(javabin)${CONSTITUENT} 44 $(cleanup_silent) /bin/rm -f $(javabin)${CONSTITUENT}.jar 45 45 46 46 #-- end of jar ------ -
CMT/HEAD/mgr/fragments/jar_header
r445 r628 2 2 3 3 ${CONSTITUENT}javadirs :: 4 $(silent) if test ! -d $(javabin) /${CONSTITUENT} ; then $(mkdir) -p $(javabin)${CONSTITUENT} ; fi4 $(silent) if test ! -d $(javabin)${CONSTITUENT} ; then $(mkdir) -p $(javabin)${CONSTITUENT} ; fi 5 5 6 6 ${CONSTITUENT} :: ${CONSTITUENT}javadirs $(javabin)${CONSTITUENT}.jar 7 7 $(echo) "${CONSTITUENT} ok" 8 8 9 cmt_${CONSTITUENT}_${HASPROTOTYPES} = 1 10 11 #-------------------------------------- 12 13 ifdef cmt_${CONSTITUENT}_has_prototypes 14 15 ${CONSTITUENT}prototype : ${PROTOTARGET} ; 16 17 endif 18 19 ${CONSTITUENT}compile : ${OBJS} ; 20 9 21 #-- end of jar_header ------ -
CMT/HEAD/mgr/fragments/java
r11 r628 3 3 ${OUTPUTNAME} : ${FULLNAME} 4 4 $(java_echo) $@ 5 $(java_silent)cd $(src); $(javacomp) -d $(javabin)/${CONSTITUENT} $(use_javaflags) $(${CONSTITUENT}_javaflags) $(${NAME}_javaflags) ${FULLNAME} 5 $(java_silent) [ -d $(javabin)${CONSTITUENT} ] || $(mkdir) -p $(javabin)${CONSTITUENT} 6 $(java_silent)cd $(src); $(javacomp) -d $(javabin)${CONSTITUENT} $(use_javaflags) $(${CONSTITUENT}_javaflags) $(${NAME}_javaflags) ${FULLNAME} 6 7 7 8 #-- end of java ------ -
CMT/HEAD/mgr/fragments/java_header
r441 r628 2 2 3 3 ${CONSTITUENT}javadirs :: 4 $(silent) if test ! -d $(javabin) /${CONSTITUENT} ; then $(mkdir) -p $(javabin)${CONSTITUENT} ; fi4 $(silent) if test ! -d $(javabin)${CONSTITUENT} ; then $(mkdir) -p $(javabin)${CONSTITUENT} ; fi 5 5 6 6 ${CONSTITUENT} :: ${CONSTITUENT}javadirs $(javabin)${CONSTITUENT}.jar 7 7 $(echo) "${CONSTITUENT} ok" 8 9 cmt_${CONSTITUENT}_${HASPROTOTYPES} = 1 10 11 #-------------------------------------- 12 13 ifdef cmt_${CONSTITUENT}_has_prototypes 14 15 ${CONSTITUENT}prototype : ${PROTOTARGET} ; 16 17 endif 18 19 ${CONSTITUENT}compile : ${OBJS} ; 8 20 9 21 $(javabin)${CONSTITUENT}.jar :: ${OBJS} … … 16 28 ${CONSTITUENT}installname = ${CONSTITUENT}.jar 17 29 18 ${CONSTITUENT} :: ${CONSTITUENT}install 30 ${CONSTITUENT} :: ${CONSTITUENT}install ; 19 31 20 install :: ${CONSTITUENT}install 32 install :: ${CONSTITUENT}install ; 21 33 22 34 ${CONSTITUENT}install :: $(install_dir)/$(${CONSTITUENT}installname) … … 37 49 ##${CONSTITUENT}clean :: ${CONSTITUENT}uninstall 38 50 39 uninstall :: ${CONSTITUENT}uninstall 51 uninstall :: ${CONSTITUENT}uninstall ; 40 52 41 53 ${CONSTITUENT}uninstall :: -
CMT/HEAD/mgr/fragments/library
r593 r628 30 30 $(lib_echo) "shared library $@" 31 31 $(lib_silent) if test "$(makecmd)"; then QUIET=; else QUIET=1; fi; QUIET=$${QUIET} bin="$(bin)" ld="$(shlibbuilder)" ldflags="$(shlibflags)" suffix=$(shlibsuffix) libprefix=$(library_prefix) libsuffix=$(library_suffix) $(make_shlib) "$(tags)" ${CONSTITUENT} $(${CONSTITUENT}_shlibflags) 32 $(lib_silent) cat /dev/null >$(${CONSTITUENT}shstamp) 32 33 33 34 $(${CONSTITUENT}shstamp) :: $(${CONSTITUENT}libname).$(shlibsuffix) -
CMT/HEAD/mgr/fragments/library_header
r441 r628 9 9 $(echo) "${CONSTITUENT} ok" 10 10 11 cmt_${CONSTITUENT}_${HASPROTOTYPES} = 1 12 13 #-------------------------------------- 14 15 ifdef cmt_${CONSTITUENT}_has_prototypes 16 17 ${CONSTITUENT}prototype : ${PROTOTARGET} ; 18 19 endif 20 21 ${CONSTITUENT}compile : ${OBJS} ; 22 11 23 #-- end of libary_header ---------------- -
CMT/HEAD/mgr/fragments/library_no_static
r593 r628 31 31 $(lib_echo) "shared library $@" 32 32 $(lib_silent) $(shlibbuilder) $(shlibflags) -o $@ ${OBJS} $(${CONSTITUENT}_shlibflags) 33 $(lib_silent) cat /dev/null >$(${CONSTITUENT}stamp) && \ 34 cat /dev/null >$(${CONSTITUENT}shstamp) 33 35 34 36 $(${CONSTITUENT}shstamp) :: $(${CONSTITUENT}libname).$(shlibsuffix) -
CMT/HEAD/mgr/requirements
r618 r628 586 586 make_fragment constituent 587 587 make_fragment constituent_lock 588 make_fragment constituent_app_lib 588 589 make_fragment constituents_trailer 589 590 -
CMT/HEAD/source/cmt_generator.cxx
r627 r628 86 86 m_HASTARGETTAG.set ("HASTARGETTAG"); 87 87 m_HASDEPENDENCIES.set ("HASDEPENDENCIES"); 88 m_HASPROTOTYPES.set ("HASPROTOTYPES"); 88 89 m_ISCHECKGROUP.set ("ISCHECKGROUP"); 89 90 } … … 126 127 m_HASTARGETTAG = ""; 127 128 m_HASDEPENDENCIES = ""; 129 m_HASPROTOTYPES = ""; 128 130 m_ISCHECKGROUP = ""; 129 131 m_PACKINCLUDES = ""; -
CMT/HEAD/source/cmt_generator.h
r627 r628 133 133 Variable m_HASTARGETTAG; 134 134 Variable m_HASDEPENDENCIES; 135 Variable m_HASPROTOTYPES; 135 136 Variable m_ISCHECKGROUP; 136 137 }; -
CMT/HEAD/source/cmt_generators.cxx
r627 r628 468 468 const cmt_string& file_name) 469 469 { 470 static cmt_string lib;470 //static cmt_string lib; 471 471 static cmt_string allsources; 472 472 static cmt_string file; … … 499 499 need_prototypes = constituent.need_prototypes; 500 500 501 if (constituent.need_prototypes) 502 { 503 m_HASPROTOTYPES = "has_prototypes"; 504 } 505 else 506 { 507 m_HASPROTOTYPES = "has_no_prototypes"; 508 } 509 501 510 // cout << m_TITLE << " " << m_CONSTITUENT << endl; 502 511 CmtMessage::info (m_TITLE + " " + m_CONSTITUENT); 503 512 513 /* 504 514 lib = "$("; 505 515 lib += m_CONSTITUENT; 506 516 lib += "lib)"; 507 517 */ 508 518 // 509 519 // Prepare the include paths … … 639 649 if (is_library) 640 650 { 641 jar_header_fragment.copy (m_output_file, constituent.variables, 3,651 jar_header_fragment.copy (m_output_file, constituent.variables, 5, 642 652 &m_CONSTITUENT, 643 653 &m_CONSTITUENTSUFFIX, 644 &m_OBJS); 654 &m_OBJS, 655 &m_PROTOTARGET, 656 &m_HASPROTOTYPES); 645 657 } 646 658 else 647 659 { 648 java_header_fragment.copy (m_output_file, constituent.variables, 3,660 java_header_fragment.copy (m_output_file, constituent.variables, 5, 649 661 &m_CONSTITUENT, 650 662 &m_CONSTITUENTSUFFIX, 651 &m_OBJS); 663 &m_OBJS, 664 &m_PROTOTARGET, 665 &m_HASPROTOTYPES); 652 666 } 653 667 } … … 656 670 if (is_library) 657 671 { 658 library_header_fragment.copy (m_output_file, constituent.variables, 3,672 library_header_fragment.copy (m_output_file, constituent.variables, 5, 659 673 &m_CONSTITUENT, 660 674 &m_CONSTITUENTSUFFIX, 661 &m_PROTOTARGET); 675 &m_OBJS, 676 &m_PROTOTARGET, 677 &m_HASPROTOTYPES); 662 678 } 663 679 else 664 680 { 665 application_header_fragment.copy (m_output_file, constituent.variables, 3, 666 &m_CONSTITUENT, 667 &m_CONSTITUENTSUFFIX, 668 &m_PROTOTARGET); 681 application_header_fragment.copy (m_output_file, constituent.variables, 5, 682 &m_CONSTITUENT, 683 &m_CONSTITUENTSUFFIX, 684 &m_OBJS, 685 &m_PROTOTARGET, 686 &m_HASPROTOTYPES); 669 687 } 670 688 } … … 806 824 if (need_dependencies) 807 825 { 808 809 810 811 812 826 dependencies_fragment.copy (m_output_file, 827 constituent.variables, 3, 828 &m_CONSTITUENT, 829 &m_CONSTITUENTSUFFIX, 830 &m_LINE); 813 831 } 814 832 } … … 2601 2619 constituent_fragment.set ("constituent"); 2602 2620 constituent_lock_fragment.set ("constituent_lock"); 2621 constituent_app_lib_fragment.set ("constituent_app_lib"); 2603 2622 check_application_header_fragment.set ("check_application_header"); 2604 2623 } … … 2612 2631 constituent_fragment.reset (); 2613 2632 constituent_lock_fragment.reset (); 2633 constituent_app_lib_fragment.reset (); 2614 2634 check_application_header_fragment.reset (); 2615 2635 } … … 2738 2758 { 2739 2759 case Application: 2740 m_HASDEPENDENCIES = "has_dependencies";2741 break;2742 2760 case Library: 2743 2761 m_HASDEPENDENCIES = "has_dependencies"; 2762 m_HASPROTOTYPES = constituent.need_prototypes ? "has_prototypes" : "has_no_prototypes" ; 2744 2763 break; 2745 2764 case Document: … … 2758 2777 &m_HASDEPENDENCIES, 2759 2778 &m_HASTARGETTAG); 2779 } 2780 else if (constituent.type == Application || 2781 constituent.type == Library) 2782 { 2783 constituent_app_lib_fragment.copy (m_output_file, constituent.variables, 2784 7, 2785 &m_PACKAGE, 2786 &m_CONSTITUENT, 2787 &m_CONSTITUENTSUFFIX, 2788 &m_LINE, 2789 &m_HASDEPENDENCIES, 2790 &m_HASTARGETTAG, 2791 &m_HASPROTOTYPES); 2760 2792 } 2761 2793 else -
CMT/HEAD/source/cmt_generators.h
r588 r628 220 220 FragmentHandle constituent_fragment; 221 221 FragmentHandle constituent_lock_fragment; 222 FragmentHandle constituent_app_lib_fragment; 222 223 FragmentHandle check_application_header_fragment; 223 224 }; -
CMT/HEAD/source/cmt_parser.cxx
r621 r628 9620 9620 SyntaxParser::parse_requirements_line (temp, current_use); 9621 9621 } 9622 9623 for (int i = 0; i < constituents.size (); i++) 9624 { 9625 const Constituent& constituent = constituents[i]; 9626 if (constituent.type == Document) continue; 9627 const cmt_string macro_name = constituent.name + "compile_dependencies"; 9628 if (!Symbol::is_selected (macro_name)) 9629 { 9630 temp = "macro_append "; 9631 temp += macro_name; 9632 temp += " \""; 9633 9634 const Symbol* deps_macro = Symbol::find (constituent.name + "_dependencies"); 9635 if (deps_macro != 0) 9636 { 9637 const cmt_string deps_value (deps_macro->resolve_macro_value ()); 9638 CmtSystem::cmt_string_vector words; 9639 CmtSystem::split (deps_value, " \t", words); 9640 for (int i = 0; i < words.size (); i++) 9641 { 9642 const cmt_string& word = words[i]; 9643 const Constituent* dep = Constituent::find (word); 9644 if (dep == 0) 9645 { 9646 if (CmtMessage::active (Verbose)) 9647 CmtMessage::warning 9648 (CmtError::get_error_name (CmtError::configuration_error) 9649 + ": " + word + ": non-constituent name in macro " 9650 + constituent.name + "_dependencies value"); 9651 continue; 9652 } 9653 switch (dep->type) 9654 { 9655 case Application: 9656 case Library: 9657 if (dep->need_prototypes) 9658 temp += " " + word + "prototype"; 9659 break; 9660 case Document: 9661 temp += " " + word; 9662 break; 9663 } 9664 } 9665 } 9666 9667 temp += "\""; 9668 9669 SyntaxParser::parse_requirements_line (temp, current_use); 9670 } 9671 if (constituent.need_prototypes) 9672 { 9673 const cmt_string macro_name = constituent.name + "prototype_dependencies"; 9674 if (!Symbol::is_selected (macro_name)) 9675 { 9676 temp = "macro_append "; 9677 temp += macro_name; 9678 temp += " \" $("; 9679 temp += constituent.name + "compile_dependencies)\""; 9680 9681 SyntaxParser::parse_requirements_line (temp, current_use); 9682 } 9683 } 9684 } 9622 9685 } 9623 9686
Note: See TracChangeset
for help on using the changeset viewer.