summaryrefslogtreecommitdiff
path: root/ace/svcconf.mpb
diff options
context:
space:
mode:
Diffstat (limited to 'ace/svcconf.mpb')
-rw-r--r--ace/svcconf.mpb58
1 files changed, 52 insertions, 6 deletions
diff --git a/ace/svcconf.mpb b/ace/svcconf.mpb
index f2da60eeaca..ff8a4a1f017 100644
--- a/ace/svcconf.mpb
+++ b/ace/svcconf.mpb
@@ -16,13 +16,9 @@ feature(ace_svcconf) {
Service_Types.cpp
Service_Templates.cpp
Shared_Object.cpp
- Svc_Conf_Lexer.cpp
+ Svc_Conf_l.cpp
Svc_Conf_y.cpp
- Encoding_Converter.cpp
- Encoding_Converter_Factory.cpp
- UTF8_Encoding_Converter.cpp
- UTF16_Encoding_Converter.cpp
- UTF32_Encoding_Converter.cpp
+ Svc_Conf_Lexer_Guard.cpp
XML_Svc_Conf.cpp
}
@@ -54,5 +50,55 @@ feature(ace_svcconf) {
" @echo 'ERROR: You must use bison 1.35 or higher to process this file'"
" @/bin/false"
"endif"
+
+ "Svc_Conf_l.cpp: Svc_Conf.l"
+ "ifeq ($(notdir $(LEX)), flex)"
+ " echo '#define YY_NO_UNPUT' > $@"
+ " echo >> $@"
+ " echo '#include \"ace/Object_Manager.h\"' >> $@"
+ " echo '#include \"ace/Guard_T.h\"' >> $@"
+ " echo '#include \"ace/Recursive_Thread_Mutex.h\"' >> $@"
+ " echo '#include \"ace/Synch_Traits.h\"' >> $@"
+ " echo '#include \"ace/OS_NS_ctype.h\"' >> $@"
+ " echo '#include \"ace/OS_NS_string.h\"' >> $@"
+ " $(LEX) -L -t -I Svc_Conf.l >> $@"
+ " echo '#endif /* ACE_USES_CLASSIC_SVC_CONF = 1 */' >> $@"
+ " sed -e 's/yy/ace_yy/g' \\"
+ " -e 's/YY/ACE_YY/g' \\"
+ " -e 's@#define unput.*@#if (ACE_USES_CLASSIC_SVC_CONF == 1)@' \\"
+ " -e 's/typedef unsigned char/typedef char/g' \\"
+ " -e 's/ / /g' \\"
+ " -e 's/^char /ACE_TCHAR /g' \\"
+ " -e 's/ char / ACE_TCHAR /g' \\"
+ " -e 's/(char/(ACE_TCHAR/g' \\"
+ " -e 's/ NULL/ 0/g' \\"
+ " -e 's/->ace_yyerrno/->yyerrno/g' \\"
+ " -e 's/->ace_yylineno/->yylineno/g' \\"
+ " -e 's/free( ptr );/free( ACE_MALLOC_T (ptr) );/g' \\"
+ " -e 's/exit(/ACE_OS::exit(/g' \\"
+ " -e 's/isatty( fileno(file)/ACE_OS::isatty( fileno (file)/g' \\"
+ " -e 's/int isatty/int nop_isatty/g' \\"
+ " -e 's/realloc( (ACE_TCHAR \\*) ptr/realloc( (char *) ptr/g' \\"
+ " -e 's/unsigned ACE_TCHAR/unsigned char/g' \\"
+ " -e 's/ACE_TCHAR msg\\[\\]/char msg[]/g' \\"
+ " -e 's/fprintf/ACE_OS::fprintf/g' \\"
+ " -e 's/if[ ]*([ ]*num_to_read/if ( num_to_read * sizeof (ACE_TCHAR)/g' \\"
+ " -e 's/b->ace_yy_buf_size + 2/(&) * sizeof (ACE_TCHAR)/g' \\"
+ " -e 's@= ACE_YY_READ_BUF_SIZE@& / sizeof (ACE_TCHAR)@g' \\"
+ " -e 's/ace_yy_flex_alloc( n /&* sizeof (ACE_TCHAR)/g' \\"
+ " -e 's@#include <stdio\.h>@#include \"ace/OS_NS_stdio.h\"@' \\"
+ " -e 's@#include <unistd\.h>@#include \"ace/OS_NS_unistd.h\"@' \\"
+ " -e 's@#include <stdlib\.h>@#include \"ace/OS_NS_stdlib.h\"@' \\"
+ " -e 's@#include <@#include /**/ <@' \\"
+ " -e 's@ECHO@ACE_SVC_CONF_ECHO@' < $@ > /tmp/$@"
+ " cp /tmp/$@ $@"
+ " patch < ../etc/Svc_Conf_l.cpp.diff"
+ " $(RM) -f /tmp/$@ Svc_Conf_l.cpp.orig"
+ "else"
+ " @echo 'ERROR: You must use flex 2.5.4 or higher to process this file'"
+ " @/bin/false"
+ "endif"
+
}
+
}