diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-10-15 07:20:44 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-10-15 07:20:44 +0000 |
commit | 3311bc4b73b33db9142e738bb8da11a3017f9f26 (patch) | |
tree | f046413856d2f7b67edc7ba57dc0a02064d9a085 /TAO/TAO_IDL | |
parent | 66d8427a7dfb14a9cc8b56b72697baffbc908369 (diff) | |
download | ATCD-3311bc4b73b33db9142e738bb8da11a3017f9f26.tar.gz |
Thu Oct 15 07:20:38 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
* TAO_IDL/tao_idl.mpc
* TAO_IDL/tao_idl_be.mpc
* TAO_IDL/tao_idl_fe.mpc
Added seperate mpc files for the back end and the front end library
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r-- | TAO/TAO_IDL/tao_idl.mpc | 143 | ||||
-rw-r--r-- | TAO/TAO_IDL/tao_idl_be.mpc | 31 | ||||
-rw-r--r-- | TAO/TAO_IDL/tao_idl_fe.mpc | 116 |
3 files changed, 147 insertions, 143 deletions
diff --git a/TAO/TAO_IDL/tao_idl.mpc b/TAO/TAO_IDL/tao_idl.mpc index d7271e552ef..6faede65a9d 100644 --- a/TAO/TAO_IDL/tao_idl.mpc +++ b/TAO/TAO_IDL/tao_idl.mpc @@ -1,87 +1,6 @@ // -*- MPC -*- // $Id$ -project(TAO_IDL_GEN) { - requires += tao_idl_fe_gen - verbatim(gnuace, local) { - fe/fe_lookup.cpp: fe/keywords.dat - " echo '\/\/ $$I''d$$' > $@" - " echo '' >> $@" - " echo '#include \"fe_private.h\"' >> $@" - " echo '#include \"ace/OS_NS_string.h\"' >> $@" - " echo '' >> $@" - " $(ACE_ROOT)/bin/ace_gperf -M -J -c -C -D -E -T -f 0 -a -o -t -p -K keyword_ -L C++ -Z TAO_IDL_CPP_Keyword_Table -N lookup -k1,2,$$ $^ | \\" - " sed -e 's/,}/,0}/g' \\" - " -e 's/\\*str == \\*s && !ACE_OS::strncmp/len == static_cast<unsigned int> (ACE_OS::strlen (s)) \\&\\& *str == *s \\&\\& !ACE_OS::strncmp/g' \\" - " >> $@" - - fe/lex.yy.cpp: fe/idl.ll - " @echo 'WARNING: Potentially outdated $@'" - " @echo ' either touch(1) the file or explicitly'" - " @echo ' generate it using:'" - " @echo ' make lex.yy'" - - .PHONY: lex.yy - lex.yy: - "ifeq ($(notdir $(LEX)), flex)" - " $(LEX) -L -t fe/idl.ll | \\" - " sed -e 's/yy/tao_yy/g' \\" - " -e 's/YY/TAO_YY/g' \\" - " -e 's/ NULL/ 0/g' \\" - " -e 's/ / /g' \\" - " -e 's/ *$$\/\/g' \\" - " -e 's/TAO_YY_BREAK break;/TAO_YY_BREAK ACE_NOTREACHED (break;)/g' \\" - " -e 's/ECHO/TAO_YY_ECHO/' \\" - " -e 's/fread\([^\)]*\)/static_cast<int> (&)/g' \\" - " -e 's/\\$$Hea''der.*\\$$/$$I''d$$/' \\" - " -e 's@#include <stdio\.h>@#include \"ace/os_include/os_stdio.h\"@' \\" - " -e 's@#include <unistd\.h>@#include \"ace/os_include/os_ctype.h\"@' \\" - " -e '/#include </d' \\" - " > fe/lex.yy.cpp" - " (cd fe; patch < lex.yy.cpp.diff)" - "else" - " @echo 'ERROR: You must use flex 2.5.4 or higher to process this file'" - " @/bin/false" - "endif" - - fe/y.tab.cpp: fe/idl.yy - " @echo 'WARNING: Potentially outdated $@'" - " @echo ' either touch(1) the file or explicitly'" - " @echo ' generate it using:'" - " @echo ' make y.tab'" - - .PHONY: y.tab - y.tab: fe/idl.yy - "ifeq ($(notdir $(YACC)), bison)" - " $(YACC) -y -l -d fe/idl.yy" - " sed -e 's/char \\*getenv/char *ace_foo/g' \\" - " -e 's/= getenv/= ACE_OS::getenv/g' \\" - " -e 's/int yynew_state,/int,/g' \\" - " -e 's/int yyold_state,/int,/g' \\" - " -e 's/int yyrule_num,/int,/g' \\" - " -e 's/\\(YYDEBUG_DISCARD_TOKEN.*int\\) yytoken_num/\\1/g' \\" - " -e 's/yynewerror:\/\/g' \\" - " -e 's/yy/tao_yy/g' \\" - " -e 's/YY/TAO_YY/g' \\" - " -e 's/ / /g' \\" - " -e 's/ *$$\/\/g' \\" - " -e 's/y\\.tab\\.c/y.tab.cpp/g' \\" - " -e 's%\\(#pragma ident\\)%\/\/ \\1%' < y.tab.c > /tmp/$(USER).Y" - " sed -e 's/yy/tao_yy/g' \\" - " -e 's/YY/TAO_YY/g' < y.tab.h > /tmp/$(USER).YH" - " echo '\/\/ $$I''d$$' > fe/y.tab.cpp" - " cat /tmp/$(USER).Y >> fe/y.tab.cpp" - " echo '\/\/ $$I''d$$' > fe/y.tab.h" - " cat /tmp/$(USER).YH >> fe/y.tab.h" - " $(RM) /tmp/$(USER).Y /tmp/$(USER).YH y.tab.c y.tab.h" - " (cd fe; patch < y.tab.cpp.diff)" - "else" - " @echo 'ERROR: You must use bison 2.3 or higher to process this file'" - " @/bin/false" - "endif" - } -} - project(TAO_IDL_EXE) : aceexe, install, tao_output, crosscompile, mcpp, tao_idl_mcpp_local, tao_idl_fe { exename = tao_idl libs += TAO_IDL_BE @@ -126,65 +45,3 @@ project(TAO_IDL_EXE) : aceexe, install, tao_output, crosscompile, mcpp, tao_idl_ } } - -project(TAO_IDL_BE) : acelib, conv_lib, tao_output, crosscompile, tao_vc8warnings, tao_idl_fe { - sharedname = TAO_IDL_BE - dynamicflags = TAO_IDL_BE_BUILD_DLL - includes += $(TAO_ROOT) - - specific (automake) { - includes += $(srcdir)/include $(srcdir)/be_include $(srcdir)/fe - } else { - includes += include be_include fe - } - - specific { - // Override the template value for optimize. Building the backend - // with optimization turned on doesn't seem to work (at least not with - // vc6 or vc71). This is due to the use of addresses of static objecs - // within the code. - optimize = - } - - Source_Files { - be - } - - Header_Files { - be_include - } -} - - -project(TAO_IDL_FE) : acelib, conv_lib, tao_output, crosscompile, fe_mcpp { - sharedname = TAO_IDL_FE - dynamicflags = TAO_IDL_FE_BUILD_DLL - includes += $(TAO_ROOT) - - specific (automake) { - includes += $(srcdir)/include $(srcdir)/fe - } else { - includes += include fe - } - - specific { - // Override the template value for optimize. Building the frontend - // with optimization turned on doesn't seem to work (at least not with - // vc6 or vc71). This is due to the use of addresses of static objecs - // within the code. - optimize = - } - - Source_Files { - fe - ast - util - narrow - } - - Header_Files { - include - fe - } -} - diff --git a/TAO/TAO_IDL/tao_idl_be.mpc b/TAO/TAO_IDL/tao_idl_be.mpc new file mode 100644 index 00000000000..e450a7e7586 --- /dev/null +++ b/TAO/TAO_IDL/tao_idl_be.mpc @@ -0,0 +1,31 @@ +// -*- MPC -*- +// $Id$ + +project(TAO_IDL_BE) : acelib, conv_lib, tao_output, crosscompile, tao_vc8warnings, tao_idl_fe { + sharedname = TAO_IDL_BE + dynamicflags = TAO_IDL_BE_BUILD_DLL + includes += $(TAO_ROOT) + + specific (automake) { + includes += $(srcdir)/include $(srcdir)/be_include $(srcdir)/fe + } else { + includes += include be_include fe + } + + specific { + // Override the template value for optimize. Building the backend + // with optimization turned on doesn't seem to work (at least not with + // vc6 or vc71). This is due to the use of addresses of static objecs + // within the code. + optimize = + } + + Source_Files { + be + } + + Header_Files { + be_include + } +} + diff --git a/TAO/TAO_IDL/tao_idl_fe.mpc b/TAO/TAO_IDL/tao_idl_fe.mpc new file mode 100644 index 00000000000..18cd153bbc6 --- /dev/null +++ b/TAO/TAO_IDL/tao_idl_fe.mpc @@ -0,0 +1,116 @@ +// -*- MPC -*- +// $Id$ + +project(TAO_IDL_GEN) { + requires += tao_idl_fe_gen + verbatim(gnuace, local) { + fe/fe_lookup.cpp: fe/keywords.dat + " echo '\/\/ $$I''d$$' > $@" + " echo '' >> $@" + " echo '#include \"fe_private.h\"' >> $@" + " echo '#include \"ace/OS_NS_string.h\"' >> $@" + " echo '' >> $@" + " $(ACE_ROOT)/bin/ace_gperf -M -J -c -C -D -E -T -f 0 -a -o -t -p -K keyword_ -L C++ -Z TAO_IDL_CPP_Keyword_Table -N lookup -k1,2,$$ $^ | \\" + " sed -e 's/,}/,0}/g' \\" + " -e 's/\\*str == \\*s && !ACE_OS::strncmp/len == static_cast<unsigned int> (ACE_OS::strlen (s)) \\&\\& *str == *s \\&\\& !ACE_OS::strncmp/g' \\" + " >> $@" + + fe/lex.yy.cpp: fe/idl.ll + " @echo 'WARNING: Potentially outdated $@'" + " @echo ' either touch(1) the file or explicitly'" + " @echo ' generate it using:'" + " @echo ' make lex.yy'" + + .PHONY: lex.yy + lex.yy: + "ifeq ($(notdir $(LEX)), flex)" + " $(LEX) -L -t fe/idl.ll | \\" + " sed -e 's/yy/tao_yy/g' \\" + " -e 's/YY/TAO_YY/g' \\" + " -e 's/ NULL/ 0/g' \\" + " -e 's/ / /g' \\" + " -e 's/ *$$\/\/g' \\" + " -e 's/TAO_YY_BREAK break;/TAO_YY_BREAK ACE_NOTREACHED (break;)/g' \\" + " -e 's/ECHO/TAO_YY_ECHO/' \\" + " -e 's/fread\([^\)]*\)/static_cast<int> (&)/g' \\" + " -e 's/\\$$Hea''der.*\\$$/$$I''d$$/' \\" + " -e 's@#include <stdio\.h>@#include \"ace/os_include/os_stdio.h\"@' \\" + " -e 's@#include <unistd\.h>@#include \"ace/os_include/os_ctype.h\"@' \\" + " -e '/#include </d' \\" + " > fe/lex.yy.cpp" + " (cd fe; patch < lex.yy.cpp.diff)" + "else" + " @echo 'ERROR: You must use flex 2.5.4 or higher to process this file'" + " @/bin/false" + "endif" + + fe/y.tab.cpp: fe/idl.yy + " @echo 'WARNING: Potentially outdated $@'" + " @echo ' either touch(1) the file or explicitly'" + " @echo ' generate it using:'" + " @echo ' make y.tab'" + + .PHONY: y.tab + y.tab: fe/idl.yy + "ifeq ($(notdir $(YACC)), bison)" + " $(YACC) -y -l -d fe/idl.yy" + " sed -e 's/char \\*getenv/char *ace_foo/g' \\" + " -e 's/= getenv/= ACE_OS::getenv/g' \\" + " -e 's/int yynew_state,/int,/g' \\" + " -e 's/int yyold_state,/int,/g' \\" + " -e 's/int yyrule_num,/int,/g' \\" + " -e 's/\\(YYDEBUG_DISCARD_TOKEN.*int\\) yytoken_num/\\1/g' \\" + " -e 's/yynewerror:\/\/g' \\" + " -e 's/yy/tao_yy/g' \\" + " -e 's/YY/TAO_YY/g' \\" + " -e 's/ / /g' \\" + " -e 's/ *$$\/\/g' \\" + " -e 's/y\\.tab\\.c/y.tab.cpp/g' \\" + " -e 's%\\(#pragma ident\\)%\/\/ \\1%' < y.tab.c > /tmp/$(USER).Y" + " sed -e 's/yy/tao_yy/g' \\" + " -e 's/YY/TAO_YY/g' < y.tab.h > /tmp/$(USER).YH" + " echo '\/\/ $$I''d$$' > fe/y.tab.cpp" + " cat /tmp/$(USER).Y >> fe/y.tab.cpp" + " echo '\/\/ $$I''d$$' > fe/y.tab.h" + " cat /tmp/$(USER).YH >> fe/y.tab.h" + " $(RM) /tmp/$(USER).Y /tmp/$(USER).YH y.tab.c y.tab.h" + " (cd fe; patch < y.tab.cpp.diff)" + "else" + " @echo 'ERROR: You must use bison 2.3 or higher to process this file'" + " @/bin/false" + "endif" + } +} + +project(TAO_IDL_FE) : acelib, conv_lib, tao_output, crosscompile, fe_mcpp { + sharedname = TAO_IDL_FE + dynamicflags = TAO_IDL_FE_BUILD_DLL + includes += $(TAO_ROOT) + + specific (automake) { + includes += $(srcdir)/include $(srcdir)/fe + } else { + includes += include fe + } + + specific { + // Override the template value for optimize. Building the frontend + // with optimization turned on doesn't seem to work (at least not with + // vc6 or vc71). This is due to the use of addresses of static objecs + // within the code. + optimize = + } + + Source_Files { + fe + ast + util + narrow + } + + Header_Files { + include + fe + } +} + |