summaryrefslogtreecommitdiff
path: root/soltools
diff options
context:
space:
mode:
authorBjoern Michaelsen <b_michaelsen@openoffice.org>2010-07-13 14:36:24 +0200
committerBjoern Michaelsen <b_michaelsen@openoffice.org>2010-07-13 14:36:24 +0200
commita4a2a3ef98fea47db17e95f770dbf5609c3d48d3 (patch)
tree5c554dc8ba9ecef5dba4a2d60137e3c99784ecbc /soltools
parente9e1321da43daba28f1f77b83f5e0c3524a47544 (diff)
parent9345119d4da6dea75c3aa0bfa167f2c16b544864 (diff)
CWS gnumake2: resync to DEV300_m84
Diffstat (limited to 'soltools')
-rw-r--r--soltools/cpp/_nlist.c3
-rw-r--r--soltools/cpp/_unix.c12
-rw-r--r--soltools/cpp/cpp.h3
-rw-r--r--soltools/cpp/makefile.mk10
-rw-r--r--soltools/javadep/javadep.c9
-rw-r--r--soltools/mkdepend/cppsetup.c16
-rw-r--r--soltools/mkdepend/def.h25
-rw-r--r--soltools/mkdepend/ifparser.c2
-rw-r--r--soltools/mkdepend/ifparser.h5
-rw-r--r--soltools/mkdepend/imakemdep.h142
-rw-r--r--soltools/mkdepend/main.c48
-rw-r--r--soltools/mkdepend/parse.c10
-rw-r--r--soltools/mkdepend/pr.c1
-rw-r--r--soltools/prj/build.lst2
-rw-r--r--soltools/testhxx/create.pl22
-rw-r--r--soltools/testhxx/makefile.mk14
-rwxr-xr-xsoltools/util/makefile.pmk4
17 files changed, 157 insertions, 171 deletions
diff --git a/soltools/cpp/_nlist.c b/soltools/cpp/_nlist.c
index 9144f2b7e15e..a71085bfbbf9 100644
--- a/soltools/cpp/_nlist.c
+++ b/soltools/cpp/_nlist.c
@@ -3,9 +3,6 @@
#include <string.h>
#include "cpp.h"
-extern int stgetopt(int, char *const *, const char *);
-extern char *optarg;
-extern int optind;
extern int Cplusplus;
Nlist *kwdefined;
char wd[128];
diff --git a/soltools/cpp/_unix.c b/soltools/cpp/_unix.c
index 5574bb3ecef7..5352f6f1f5f9 100644
--- a/soltools/cpp/_unix.c
+++ b/soltools/cpp/_unix.c
@@ -12,9 +12,15 @@
#include "cpp.h"
+#if defined MACOSX || !defined HAVE_GETOPT
extern int stgetopt(int, char *const *, const char *);
-extern char *optarg, rcsid[];
+extern char *optarg;
extern int optind;
+#else
+#include <getopt.h>
+#endif
+
+extern char rcsid[];
int Pflag = 0; /* print no line information */
int Iflag = 0; /* print includes */
@@ -36,7 +42,11 @@ void
Tokenrow tr;
setup_kwtab();
+#if defined MACOSX || !defined HAVE_GETOPT
while ((c = stgetopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1)
+#else
+ while ((c = getopt(argc, argv, "NOPV:I:D:U:F:A:X:u:l:+")) != -1)
+#endif
switch (c)
{
case 'N':
diff --git a/soltools/cpp/cpp.h b/soltools/cpp/cpp.h
index da609dbe53c1..34e18579c35a 100644
--- a/soltools/cpp/cpp.h
+++ b/soltools/cpp/cpp.h
@@ -15,11 +15,8 @@
#define NULL 0
#endif
-#ifndef __alpha
typedef unsigned char uchar;
-#endif
-
enum toktype
{
END, UNCLASS, NAME, NUMBER, STRING, CCON, NL, WS, DSHARP,
diff --git a/soltools/cpp/makefile.mk b/soltools/cpp/makefile.mk
index 818c27028345..533cf9a91ab7 100644
--- a/soltools/cpp/makefile.mk
+++ b/soltools/cpp/makefile.mk
@@ -45,7 +45,6 @@ LIBSALCPPRT=$(0)
OBJFILES= \
$(OBJ)$/_cpp.obj \
$(OBJ)$/_eval.obj \
- $(OBJ)$/_getopt.obj \
$(OBJ)$/_include.obj \
$(OBJ)$/_lex.obj \
$(OBJ)$/_macro.obj \
@@ -54,6 +53,15 @@ OBJFILES= \
$(OBJ)$/_tokens.obj \
$(OBJ)$/_unix.obj
+# nonstandard cpp options needed for Mac (-isysroot),
+# needs the custom stgetopt defined here :/
+.IF "$(OS)" == "MACOSX" || "$(HAVE_GETOPT)" != "YES"
+OBJFILES += $(OBJ)$/_getopt.obj
+.ENDIF
+.IF "$(HAVE_GETOPT)" == "YES"
+CDEFS += -DHAVE_GETOPT
+.ENDIF
+
APP1TARGET = $(TARGET)
.IF "$(GUI)" != "OS2"
APP1STACK = 1000000
diff --git a/soltools/javadep/javadep.c b/soltools/javadep/javadep.c
index d840e6606689..a573d78eed75 100644
--- a/soltools/javadep/javadep.c
+++ b/soltools/javadep/javadep.c
@@ -138,12 +138,14 @@ void usage(void);
void err_quit(const char *, ...);
void silent_quit(void);
+#ifdef WNT
/* poor man's getopt() */
int simple_getopt(char *pargv[], const char *poptstring);
char *optarg = NULL;
int optind = 1;
int optopt = 0;
int opterr = 0;
+#endif
uint8
read_uint8(const file_t *pfile)
@@ -748,7 +750,7 @@ int simple_getopt(char *pargv[], const char *poptstring)
char *popt;
int c = parg[1];
if ( (popt = strchr(poptstring, c)) == NULL ) {
- optopt = c;
+ optopt = c;
if ( opterr )
fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt);
return '?';
@@ -769,7 +771,6 @@ int simple_getopt(char *pargv[], const char *poptstring)
return -1;
}
-
int CDECL
main(int argc, char *argv[])
{
@@ -817,7 +818,11 @@ main(int argc, char *argv[])
opterr = 0;
pincs = allocate_growable();
+#ifdef WNT
while( (c = simple_getopt(pall_argv, ":i:I:s:S:o:OhHvV")) != -1 ) {
+#else
+ while( (c = getopt(nall_argc, pall_argv, ":i:I:s:S:o:OhHvV")) != -1 ) {
+#endif
switch(c) {
case 'i':
case 'I':
diff --git a/soltools/mkdepend/cppsetup.c b/soltools/mkdepend/cppsetup.c
index b75a2ed5b26e..173798105a3c 100644
--- a/soltools/mkdepend/cppsetup.c
+++ b/soltools/mkdepend/cppsetup.c
@@ -143,6 +143,9 @@ _my_if_errors (ip, cp, expecting)
}
fprintf (stderr, "^--- expecting %s\n", expecting);
#endif /* DEBUG_MKDEPEND */
+ (void)ip;
+ (void)cp;
+ (void)expecting;
return NULL;
}
@@ -150,13 +153,11 @@ _my_if_errors (ip, cp, expecting)
#define MAXNAMELEN 256
char *
-_lookup_variable (ip, var, len)
- IfParser *ip;
+_lookup_variable (var, len)
const char *var;
int len;
{
char tmpbuf[MAXNAMELEN + 1];
- struct _parse_data *pd = (struct _parse_data *) ip->data;
if (len > MAXNAMELEN)
return 0;
@@ -173,7 +174,8 @@ _my_eval_defined (ip, var, len)
const char *var;
int len;
{
- if (_lookup_variable (ip, var, len))
+ (void)ip;
+ if (_lookup_variable (var, len))
return 1;
else
return 0;
@@ -189,14 +191,16 @@ _my_eval_variable (ip, var, len)
{
char *s;
- s = _lookup_variable (ip, var, len);
+ (void)ip;
+
+ s = _lookup_variable (var, len);
if (!s)
return 0;
do {
var = s;
if (!isvarfirstletter(*var))
break;
- s = _lookup_variable (ip, var, strlen(var));
+ s = _lookup_variable (var, strlen(var));
} while (s);
return atoi(var);
diff --git a/soltools/mkdepend/def.h b/soltools/mkdepend/def.h
index 943e81dc0915..4133326ddb70 100644
--- a/soltools/mkdepend/def.h
+++ b/soltools/mkdepend/def.h
@@ -165,12 +165,25 @@ void define( char *def, struct symhash **symbols );
void hash_define(char *name, char * val, struct symhash **symbols);
struct symhash *hash_copy( struct symhash *symbols );
void hash_free( struct symhash *symbols );
-
-#if NeedVarargsPrototypes
-extern fatalerr(char *, ...);
-extern warning(char *, ...);
-extern warning1(char *, ...);
-#endif
+void freefile( struct filepointer * fp );
+int find_includes(struct filepointer *filep, struct inclist *file,
+ struct inclist *file_red, int recursion, boolean failOK,
+ struct IncludesCollection* incCollection, struct symhash *symbols);
+void included_by(register struct inclist *ip,
+ register struct inclist * newfile);
+int cppsetup(register char *line,
+ register struct filepointer *filep, register struct inclist *inc);
+void add_include(struct filepointer *filep, struct inclist *file,
+ struct inclist *file_red, char *include, boolean dot, boolean failOK,
+ struct IncludesCollection* incCollection, struct symhash *symbols);
+int match(register char *str, register char **list);
+void recursive_pr_include(register struct inclist *head, register char *file,
+ register char *base);
+void inc_clean();
+
+void fatalerr(char *, ...);
+void warning(char *, ...);
+void warning1(char *, ...);
void convert_slashes(char *);
char *append_slash(char *);
diff --git a/soltools/mkdepend/ifparser.c b/soltools/mkdepend/ifparser.c
index 7c8a8c40205a..3c47de64e2f0 100644
--- a/soltools/mkdepend/ifparser.c
+++ b/soltools/mkdepend/ifparser.c
@@ -59,6 +59,8 @@
#include "ifparser.h"
#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
/****************************************************************************
Internal Macros and Utilities for Parser
diff --git a/soltools/mkdepend/ifparser.h b/soltools/mkdepend/ifparser.h
index 9b0b58191b97..d832bfbcb6d7 100644
--- a/soltools/mkdepend/ifparser.h
+++ b/soltools/mkdepend/ifparser.h
@@ -57,14 +57,13 @@
#include <stdio.h>
-#define const /**/
typedef int Bool;
#define False 0
#define True 1
typedef struct _if_parser {
struct { /* functions */
- char *(*handle_error) (/* struct _if_parser *, const char *,
+ const char *(*handle_error) (/* struct _if_parser *, const char *,
const char * */);
int (*eval_variable) (/* struct _if_parser *, const char *, int */);
int (*eval_defined) (/* struct _if_parser *, const char *, int */);
@@ -72,5 +71,5 @@ typedef struct _if_parser {
char *data;
} IfParser;
-char *ParseIfExpression (/* IfParser *, const char *, int * */);
+const char *ParseIfExpression (/* IfParser *, const char *, int * */);
diff --git a/soltools/mkdepend/imakemdep.h b/soltools/mkdepend/imakemdep.h
index a71f8c3836ac..67a98929c904 100644
--- a/soltools/mkdepend/imakemdep.h
+++ b/soltools/mkdepend/imakemdep.h
@@ -515,215 +515,215 @@ char *cpp_argv[ARGUMENTS] = {
*/
struct pair predefs[] = {
#ifdef apollo
- {"apollo", "1"},
+ {"apollo", "1", NULL},
#endif
#ifdef ibm032
- {"ibm032", "1"},
+ {"ibm032", "1", NULL},
#endif
#ifdef ibm
- {"ibm", "1"},
+ {"ibm", "1", NULL},
#endif
#ifdef aix
- {"aix", "1"},
+ {"aix", "1", NULL},
#endif
#ifdef sun
- {"sun", "1"},
+ {"sun", "1", NULL},
#endif
#ifdef sun2
- {"sun2", "1"},
+ {"sun2", "1", NULL},
#endif
#ifdef sun3
- {"sun3", "1"},
+ {"sun3", "1", NULL},
#endif
#ifdef sun4
- {"sun4", "1"},
+ {"sun4", "1", NULL},
#endif
#ifdef sparc
- {"sparc", "1"},
+ {"sparc", "1", NULL},
#endif
#ifdef __sparc__
- {"__sparc__", "1"},
+ {"__sparc__", "1", NULL},
#endif
#ifdef hpux
- {"hpux", "1"},
+ {"hpux", "1", NULL},
#endif
#ifdef __hpux
- {"__hpux", "1"},
+ {"__hpux", "1", NULL},
#endif
#ifdef __hp9000s800
- {"__hp9000s800", "1"},
+ {"__hp9000s800", "1", NULL},
#endif
#ifdef __hp9000s700
- {"__hp9000s700", "1"},
+ {"__hp9000s700", "1", NULL},
#endif
#ifdef vax
- {"vax", "1"},
+ {"vax", "1", NULL},
#endif
#ifdef VMS
- {"VMS", "1"},
+ {"VMS", "1", NULL},
#endif
#ifdef cray
- {"cray", "1"},
+ {"cray", "1", NULL},
#endif
#ifdef CRAY
- {"CRAY", "1"},
+ {"CRAY", "1", NULL},
#endif
#ifdef _CRAY
- {"_CRAY", "1"},
+ {"_CRAY", "1", NULL},
#endif
#ifdef att
- {"att", "1"},
+ {"att", "1", NULL},
#endif
#ifdef mips
- {"mips", "1"},
+ {"mips", "1", NULL},
#endif
#ifdef __mips__
- {"__mips__", "1"},
+ {"__mips__", "1", NULL},
#endif
#ifdef ultrix
- {"ultrix", "1"},
+ {"ultrix", "1", NULL},
#endif
#ifdef stellar
- {"stellar", "1"},
+ {"stellar", "1", NULL},
#endif
#ifdef mc68000
- {"mc68000", "1"},
+ {"mc68000", "1", NULL},
#endif
#ifdef mc68020
- {"mc68020", "1"},
+ {"mc68020", "1", NULL},
#endif
#ifdef __GNUC__
- {"__GNUC__", "1"},
+ {"__GNUC__", "1", NULL},
#endif
#if __STDC__
- {"__STDC__", "1"},
+ {"__STDC__", "1", NULL},
#endif
#ifdef __HIGHC__
- {"__HIGHC__", "1"},
+ {"__HIGHC__", "1", NULL},
#endif
#ifdef CMU
- {"CMU", "1"},
+ {"CMU", "1", NULL},
#endif
#ifdef luna
- {"luna", "1"},
+ {"luna", "1", NULL},
#ifdef luna1
- {"luna1", "1"},
+ {"luna1", "1", NULL},
#endif
#ifdef luna2
- {"luna2", "1"},
+ {"luna2", "1", NULL},
#endif
#ifdef luna88k
- {"luna88k", "1"},
+ {"luna88k", "1", NULL},
#endif
#ifdef uniosb
- {"uniosb", "1"},
+ {"uniosb", "1", NULL},
#endif
#ifdef uniosu
- {"uniosu", "1"},
+ {"uniosu", "1", NULL},
#endif
#endif
#ifdef ieeep754
- {"ieeep754", "1"},
+ {"ieeep754", "1", NULL},
#endif
#ifdef is68k
- {"is68k", "1"},
+ {"is68k", "1", NULL},
#endif
#ifdef m68k
- {"m68k", "1"},
+ {"m68k", "1", NULL},
#endif
#ifdef m88k
- {"m88k", "1"},
+ {"m88k", "1", NULL},
#endif
#ifdef __m88k__
- {"__m88k__", "1"},
+ {"__m88k__", "1", NULL},
#endif
#ifdef bsd43
- {"bsd43", "1"},
+ {"bsd43", "1", NULL},
#endif
#ifdef hcx
- {"hcx", "1"},
+ {"hcx", "1", NULL},
#endif
#ifdef sony
- {"sony", "1"},
+ {"sony", "1", NULL},
#ifdef SYSTYPE_SYSV
- {"SYSTYPE_SYSV", "1"},
+ {"SYSTYPE_SYSV", "1", NULL},
#endif
#ifdef _SYSTYPE_SYSV
- {"_SYSTYPE_SYSV", "1"},
+ {"_SYSTYPE_SYSV", "1", NULL},
#endif
#endif
#ifdef __OSF__
- {"__OSF__", "1"},
+ {"__OSF__", "1", NULL},
#endif
#ifdef __osf__
- {"__osf__", "1"},
+ {"__osf__", "1", NULL},
#endif
#ifdef __alpha
- {"__alpha", "1"},
+ {"__alpha", "1", NULL},
#endif
#ifdef __DECC
- {"__DECC", "1"},
+ {"__DECC", "1", NULL},
#endif
#ifdef __decc
- {"__decc", "1"},
+ {"__decc", "1", NULL},
#endif
#ifdef __uxp__
- {"__uxp__", "1"},
+ {"__uxp__", "1", NULL},
#endif
#ifdef __sxg__
- {"__sxg__", "1"},
+ {"__sxg__", "1", NULL},
#endif
#ifdef _SEQUENT_
- {"_SEQUENT_", "1"},
- {"__STDC__", "1"},
+ {"_SEQUENT_", "1", NULL},
+ {"__STDC__", "1", NULL},
#endif
#ifdef __bsdi__
- {"__bsdi__", "1"},
+ {"__bsdi__", "1", NULL},
#endif
#ifdef nec_ews_svr2
- {"nec_ews_svr2", "1"},
+ {"nec_ews_svr2", "1", NULL},
#endif
#ifdef nec_ews_svr4
- {"nec_ews_svr4", "1"},
+ {"nec_ews_svr4", "1", NULL},
#endif
#ifdef _nec_ews_svr4
- {"_nec_ews_svr4", "1"},
+ {"_nec_ews_svr4", "1", NULL},
#endif
#ifdef _nec_up
- {"_nec_up", "1"},
+ {"_nec_up", "1", NULL},
#endif
#ifdef SX
- {"SX", "1"},
+ {"SX", "1", NULL},
#endif
#ifdef nec
- {"nec", "1"},
+ {"nec", "1", NULL},
#endif
#ifdef _nec_ft
- {"_nec_ft", "1"},
+ {"_nec_ft", "1", NULL},
#endif
#ifdef PC_UX
- {"PC_UX", "1"},
+ {"PC_UX", "1", NULL},
#endif
#ifdef sgi
- {"sgi", "1"},
+ {"sgi", "1", NULL},
#endif
#ifdef __sgi
- {"__sgi", "1"},
+ {"__sgi", "1", NULL},
#endif
#ifdef __FreeBSD__
- {"__FreeBSD__", "1"},
+ {"__FreeBSD__", "1", NULL},
#endif
#ifdef __NetBSD__
- {"__NetBSD__", "1"},
+ {"__NetBSD__", "1", NULL},
#endif
#ifdef __OpenBSD__
- {"__OpenBSD__", "1"},
+ {"__OpenBSD__", "1", NULL},
#endif
#ifdef __EMX__
- {"__EMX__", "1"},
+ {"__EMX__", "1", NULL},
#endif
/* add any additional symbols before this line */
- {NULL, NULL}
+ {NULL, NULL, NULL}
};
#endif /* MAKEDEPEND */
diff --git a/soltools/mkdepend/main.c b/soltools/mkdepend/main.c
index fd9bdc18e5d2..cf5c42c14bdf 100644
--- a/soltools/mkdepend/main.c
+++ b/soltools/mkdepend/main.c
@@ -70,9 +70,7 @@ typedef _W64 int ssize_t;
#endif
#endif
-#if NeedVarargsPrototypes
#include <stdarg.h>
-#endif
#ifdef MINIX
#define USE_CHMOD 1
@@ -112,7 +110,6 @@ char *directives[] = {
/******* function declarations ********/
/******* added by -Wall project *******/
-void freefile(struct filepointer * fp);
void redirect(char * line, char * makefile );
struct inclist inclist[ MAXFILES ],
@@ -495,7 +492,7 @@ struct filepointer *getfile(file)
/* Since off_t is larger than size_t, need to test for
* truncation.
*/
- if ( malloc_size != size_backup )
+ if ( (off_t)malloc_size != size_backup )
{
close( fd );
warning("makedepend: File \"%s\" size larger than can fit in size_t. Cannot allocate memory for contents.\n", file);
@@ -726,69 +723,38 @@ void redirect(line, makefile)
fclose(fdin);
}
-#if NeedVarargsPrototypes
-int fatalerr(char *msg, ...)
-#else
-/*VARARGS*/
-int fatalerr(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
- char *msg;
-#endif
+void fatalerr(char *msg, ...)
{
-#if NeedVarargsPrototypes
va_list args;
-#endif
fprintf(stderr, "%s: error: ", ProgramName);
-#if NeedVarargsPrototypes
va_start(args, msg);
vfprintf(stderr, msg, args);
va_end(args);
-#else
- fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
-#endif
exit (1);
}
-#if NeedVarargsPrototypes
-int warning(char *msg, ...)
-#else
-/*VARARGS0*/
-int warning(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
- char *msg;
-#endif
+void warning(char *msg, ...)
{
#ifdef DEBUG_MKDEPEND
-#if NeedVarargsPrototypes
va_list args;
-#endif
fprintf(stderr, "%s: warning: ", ProgramName);
-#if NeedVarargsPrototypes
va_start(args, msg);
vfprintf(stderr, msg, args);
va_end(args);
#else
- fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
-#endif
+ (void)msg;
#endif /* DEBUG_MKDEPEND */
- return 0;
}
-#if NeedVarargsPrototypes
void warning1(char *msg, ...)
-#else
-/*VARARGS0*/
-void warning1(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
- char *msg;
-#endif
{
#ifdef DEBUG_MKDEPEND
-#if NeedVarargsPrototypes
va_list args;
va_start(args, msg);
vfprintf(stderr, msg, args);
va_end(args);
#else
- fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
-#endif
+ (void)msg;
#endif /* DEBUG_MKDEPEND */
}
@@ -809,13 +775,15 @@ void convert_slashes(path)
if (*ptr == '\\')
*ptr = '/';
};
+#else
+ (void)path;
#endif
}
char* append_slash(path)
char* path;
{
- char *ptr, *new_string;
+ char *new_string;
if ((path[strlen(path) - 1] == '/') || (path[strlen(path) - 1] == '\\')) {
new_string = path;
} else {
diff --git a/soltools/mkdepend/parse.c b/soltools/mkdepend/parse.c
index b98cfce5b6a8..31d48bf2bbc5 100644
--- a/soltools/mkdepend/parse.c
+++ b/soltools/mkdepend/parse.c
@@ -29,6 +29,13 @@ in this Software without prior written authorization from the X Consortium.
#include "def.h"
char *hash_lookup( char *symbol, struct symhash *symbols );
void hash_undefine( char *symbol, struct symhash *symbols );
+int gobble( register struct filepointer *filep, struct inclist *file,
+ struct inclist *file_red, struct symhash *symbols );
+int deftype ( register char *line, register struct filepointer *filep,
+ register struct inclist *file_red, register struct inclist *file,
+ int parse_it, struct symhash *symbols);
+int zero_value(register char *exp, register struct filepointer *filep,
+ register struct inclist *file_red, register struct symhash *symbols);
extern char *directives[];
extern struct symhash *maininclist;
@@ -412,8 +419,7 @@ static int hash( str )
{
/* Hash (Kernighan and Ritchie) */
register unsigned int hashval = 0;
- register unsigned int i = 0;
- char *s = str;
+ //char *s = str;
for ( ; *str; str++ )
{
diff --git a/soltools/mkdepend/pr.c b/soltools/mkdepend/pr.c
index 78b56e23b313..1319972f99c5 100644
--- a/soltools/mkdepend/pr.c
+++ b/soltools/mkdepend/pr.c
@@ -44,6 +44,7 @@ void add_include(filep, file, file_red, include, dot, failOK, incCollection, sym
struct inclist *file, *file_red;
char *include;
boolean dot;
+ boolean failOK;
struct IncludesCollection* incCollection;
struct symhash *symbols;
{
diff --git a/soltools/prj/build.lst b/soltools/prj/build.lst
index 3c4e50eb0cda..73611addf782 100644
--- a/soltools/prj/build.lst
+++ b/soltools/prj/build.lst
@@ -1,4 +1,4 @@
-so soltools : SUN:so_prereq NULL
+so soltools : solenv SUN:so_prereq NULL
so soltools usr1 - all so_usr1 NULL
so soltools\inc get - all so_inc NULL
so soltools\ldump nmake - all so_ldump so_mkdep NULL
diff --git a/soltools/testhxx/create.pl b/soltools/testhxx/create.pl
index 325d0f896135..5c9f04118c78 100644
--- a/soltools/testhxx/create.pl
+++ b/soltools/testhxx/create.pl
@@ -66,27 +66,7 @@ if ($ENV{OS} eq 'LINUX') {
print STDOUT 'unlink ${my_tmp} || exit 1', "\n";
print STDOUT 'unlink ${my_tmp}.out || exit 1', "\n";
print STDOUT 'exit ${my_ret}', "\n";
-} elsif ($ENV{OS} eq 'WNT' and $ENV{USE_SHELL} eq '4nt') {
- 1 while $in =~ s!\s+-I\s*\.\S*\s*! !g; # discard relative includes
- $in =~ s!(\s+-I\s*)(?i:$solarversion)(\S*)!$1%SOLARVERSION%$2!og;
- # macrofy includes to solver
- $in =~ s!\s+-Fo\s*\S+! -Fo%my_tmp%.obj! || die 'bad input: no -Fo';
- $in =~ s!\s+-Zi\s! !;
- $in =~ s!\s+-Fd\s*\S+!!;
- $in =~ s!\S+\\testhxx.cxx!%my_tmp%!
- || die 'bad input: no source file';
- print STDOUT '@ECHO OFF', "\n";
- print STDOUT 'SET my_tmp=%TMP%\%_PID%_include.cc', "\n";
- print STDOUT 'ECHO #include "%@REPLACE[\\,/,%@FULL[%1]]" > %my_tmp%', "\n";
- print STDOUT $in, ' > %my_tmp%.out', "\n";
- print STDOUT 'SET my_ret=%ERRORLEVEL%', "\n";
- print STDOUT 'IF %my_ret% != 0',
- ' sed -e s!%@FILENAME[%my_tmp%]!%@REPLACE[\\,\\\\,%1]! %my_tmp%.out',
- ' 1>&2', "\n";
- print STDOUT 'DEL /EQ %my_tmp% %my_tmp%.obj %my_tmp%.pdb %my_tmp%.out',
- "\n";
- print STDOUT 'QUIT %my_ret%', "\n";
-} elsif ($ENV{OS} eq 'WNT' and $ENV{USE_SHELL} ne '4nt') {
+} elsif ($ENV{OS} eq 'WNT') {
if ($ENV{COM} eq 'GCC') {
1 while $in =~ s!\s+-I\s*\.\S*\s*! !g; # discard relative includes
$in =~ s!(\s+-I\s*)(?i:$solarversion)(\S*)!$1\${SOLARVERSION}$2!og;
diff --git a/soltools/testhxx/makefile.mk b/soltools/testhxx/makefile.mk
index 1b2a0ce42923..7a1ab97273e3 100644
--- a/soltools/testhxx/makefile.mk
+++ b/soltools/testhxx/makefile.mk
@@ -38,21 +38,13 @@ CAPTURE_OUTPUT = > $(MISC)$/testhxx.output && $(TOUCH) $(SLO)$/testhxx.obj
SLOFILES = $(SLO)$/testhxx.obj
-.IF "$(USE_SHELL)" == "4nt"
-MY_SCRIPT_EXT := .btm
-MY_EXECUTABLE := @ echo
-.ELSE
-MY_SCRIPT_EXT :=
-MY_EXECUTABLE := chmod +x
-.ENDIF
-
.INCLUDE: target.mk
-ALLTAR: $(BIN)$/$(TARGET)$(MY_SCRIPT_EXT)
+ALLTAR: $(BIN)$/$(TARGET)
-$(BIN)$/$(TARGET)$(MY_SCRIPT_EXT) .ERRREMOVE : $(MISC)$/testhxx.output create.pl
+$(BIN)$/$(TARGET) .ERRREMOVE : $(MISC)$/testhxx.output create.pl
$(PERL) -w create.pl < $(MISC)$/testhxx.output > $@
- $(MY_EXECUTABLE) $@
+ chmod +x $@
$(MISC)$/testhxx.output: $(SLO)$/testhxx.obj
$(TOUCH) $<
diff --git a/soltools/util/makefile.pmk b/soltools/util/makefile.pmk
index 33c04cf547eb..bf51cf851b4c 100755
--- a/soltools/util/makefile.pmk
+++ b/soltools/util/makefile.pmk
@@ -34,6 +34,10 @@ ADJUSTVISIBILITY=$(AUGMENT_LIBRARY_PATH) $(BIN)$/adjustvisibility
# avoid STLPort
NO_DEFAULT_STL=TRUE
SOLARINC!:=$(subst,/stl$(SPACECHAR),dont_use_stl$(SPACECHAR) $(SOLARINC))
+.IF "$(STLPORT4)" != ""
+SOLARINC!:=$(subst,$(STLPORT4)/include/stlport,dont_use_stl$(SPACECHAR) $(SOLARINC))
+SOLARINC!:=$(subst,$(STLPORT4)/stlport,dont_use_stl$(SPACECHAR) $(SOLARINC))
+.ENDIF
.IF "$(OS)"=="SOLARIS"
# hack due to #i53089#