summaryrefslogtreecommitdiff
path: root/dmake
diff options
context:
space:
mode:
authorMartin Hollmichel <mh@openoffice.org>2002-07-11 07:53:35 +0000
committerMartin Hollmichel <mh@openoffice.org>2002-07-11 07:53:35 +0000
commitab110178330aa939e51c30b5081f3bf4b43a9ada (patch)
tree6b58e30b11ffb2d7980e41481edad2a7e4d40036 /dmake
parentccff6eaf54aa7d576854bf02e63e2cc316d63492 (diff)
join: from OOO_STABLE_1
Diffstat (limited to 'dmake')
-rwxr-xr-xdmake/Makefile.am5
-rwxr-xr-xdmake/configure.in47
-rw-r--r--dmake/extern.h2
-rw-r--r--dmake/rulparse.c2
-rwxr-xr-xdmake/startup/unix/Makefile.am2
-rwxr-xr-xdmake/startup/unix/macosx/Makefile.am6
-rwxr-xr-xdmake/unix/Makefile.am6
-rw-r--r--dmake/unix/tempnam.c106
8 files changed, 141 insertions, 35 deletions
diff --git a/dmake/Makefile.am b/dmake/Makefile.am
index 762717a40df6..b640a2798729 100755
--- a/dmake/Makefile.am
+++ b/dmake/Makefile.am
@@ -2,9 +2,9 @@
#
# $RCSfile: Makefile.am,v $
#
-# $Revision: 1.4 $
+# $Revision: 1.5 $
#
-# last change: $Author: hjs $ $Date: 2002-04-09 17:10:48 $
+# last change: $Author: mh $ $Date: 2002-07-11 08:53:29 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -81,4 +81,5 @@ bin_PROGRAMS = dmake
# set the include path found by configure
INCLUDES = -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/unix/@OS_VERSION@ -I$(top_srcdir)/unix -I$(top_srcdir)/unix/@OS_VERSION@/gnu
+CFLAGS += -O
diff --git a/dmake/configure.in b/dmake/configure.in
index 4f7b50227697..9c5420120bff 100755
--- a/dmake/configure.in
+++ b/dmake/configure.in
@@ -11,7 +11,6 @@ AC_PREREQ(1.4)
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
dnl Checks for programs.
-#AC_PROG_CXX
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
@@ -45,35 +44,27 @@ AC_CHECK_FUNCS(getcwd getwd putenv strcspn strerror strspn strstr)
dnl Checks for OS
OS_UNAME=`uname`
-case $OS_UNAME in
- SunOS)
- OS_VERSION=solaris
- echo "Solaris found"
- ;;
- Linux)
- OS_VERSION=linux
- echo "Linux found"
- ;;
- Irix)
- OS_VERSION=sysvr4
- echo "Irix found"
- ;;
- FreeBSD)
- OS_VERSION=386ix
- echo "FreeBSD found"
- ;;
- CYGWIN* | cygwin* | mingw*)
- OS_VERSION=cygwin
- echo "cygwin found"
- ;;
- *)
- echo "Unknown OS"
- ;;
-esac
+if test ${OS_UNAME} = SunOS; then
+ echo "Solaris found"
+ OS_VERSION=solaris
+fi
+if test ${OS_UNAME} = Linux; then
+ echo "Linux found"
+ OS_VERSION=linux
+fi
+if test ${OS_UNAME} = Irix; then
+ echo "Irix found"
+ OS_VERSION=sysvr4
+fi
+if test ${OS_UNAME} = Darwin; then
+ echo "Mac OS X found"
+ OS_VERSION=macosx
+fi
AC_SUBST(OS_VERSION)
AC_OUTPUT(Makefile unix/Makefile startup/Makefile startup/unix/Makefile \
- startup/unix/linux/Makefile startup/unix/solaris/Makefile dmakeroot.h )
+ startup/unix/linux/Makefile startup/unix/solaris/Makefile \
+ startup/unix/macosx/Makefile dmakeroot.h )
#AC_OUTPUT(unix/bsd43/Makefile Makefile makefile unix/solaris/Makefile dbug/malloc/makefile unix/Makefile)
dnl ******************************
@@ -108,7 +99,7 @@ _______EOF
if test x$prefix != x; then
echo '"DMAKEROOT := '$prefix'/share/startup",' >> $outfile
- echo '"OS := '`uname`'",' >> $outfile
+ echo '"OS := '${OS_VERSION}'",' >> $outfile
fi
if cmp -s $outfile dmakeroot.h; then
echo dmakeroot.h is unchanged
diff --git a/dmake/extern.h b/dmake/extern.h
index c95b9ecce024..07060e65d5d2 100644
--- a/dmake/extern.h
+++ b/dmake/extern.h
@@ -1,4 +1,4 @@
-/* RCS $Id: extern.h,v 1.2 2001-04-20 14:21:05 mh Exp $
+/* RCS $Id: extern.h,v 1.3 2002-07-11 08:53:29 mh Exp $
--
-- SYNOPSIS
-- External declarations for dmake functions.
diff --git a/dmake/rulparse.c b/dmake/rulparse.c
index c04629758246..430c60901aef 100644
--- a/dmake/rulparse.c
+++ b/dmake/rulparse.c
@@ -1,4 +1,4 @@
-/* RCS $Id: rulparse.c,v 1.2 2002-04-10 15:40:39 hjs Exp $
+/* RCS $Id: rulparse.c,v 1.3 2002-07-11 08:53:30 mh Exp $
--
-- SYNOPSIS
-- Perform semantic analysis on input
diff --git a/dmake/startup/unix/Makefile.am b/dmake/startup/unix/Makefile.am
index da0168edc29a..67f75672aa98 100755
--- a/dmake/startup/unix/Makefile.am
+++ b/dmake/startup/unix/Makefile.am
@@ -4,5 +4,5 @@ startupdir = $(datadir)/startup/unix
startup_DATA = macros.mk recipes.mk
#SUBDIRS = 386ix bsd43 coherent linux macosx solaris sysvr1 sysvr3 sysvr4 xenix
-SUBDIRS = linux
+SUBDIRS = @OS_VERSION@
diff --git a/dmake/startup/unix/macosx/Makefile.am b/dmake/startup/unix/macosx/Makefile.am
new file mode 100755
index 000000000000..54bf5b17b5d3
--- /dev/null
+++ b/dmake/startup/unix/macosx/Makefile.am
@@ -0,0 +1,6 @@
+
+startupdir = $(datadir)/startup/unix/macosx
+
+startup_DATA = macros.mk
+
+
diff --git a/dmake/unix/Makefile.am b/dmake/unix/Makefile.am
index 01d494d2155f..22285b6a9211 100755
--- a/dmake/unix/Makefile.am
+++ b/dmake/unix/Makefile.am
@@ -1,11 +1,13 @@
noinst_LIBRARIES = libunix.a
-libunix_a_SOURCES = arlib.c dcache.c dirbrk.c rmprq.c ruletab.c runargv.c
+libunix_a_SOURCES = arlib.c dcache.c dirbrk.c rmprq.c ruletab.c runargv.c tempnam.c
-INCLUDES = -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/unix/@OS_VERSION@/gnu -I$(top_srcdir)/unix/@OS_VERSION@ -I$(top_srcdir)/unix
+INCLUDES = -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/unix/@OS_VERSION@/gnu -I$(top_srcdir)/unix -I$(top_srcdir)/unix/@OS_VERSION@
+CFLAGS += -O
+
diff --git a/dmake/unix/tempnam.c b/dmake/unix/tempnam.c
new file mode 100644
index 000000000000..4b143ed8d0d7
--- /dev/null
+++ b/dmake/unix/tempnam.c
@@ -0,0 +1,106 @@
+/* RCS $Id: tempnam.c,v 1.2 2002-07-11 08:53:35 mh Exp $
+--
+-- SYNOPSIS
+-- tempnam
+--
+-- DESCRIPTION
+-- temp file name generation routines.
+--
+-- AUTHOR
+-- Dennis Vadura, dvadura@dmake.wticorp.com
+--
+-- WWW
+-- http://dmake.wticorp.com/
+--
+-- COPYRIGHT
+-- Copyright (c) 1996,1997 by WTI Corp. All rights reserved.
+--
+-- This program is NOT free software; you can redistribute it and/or
+-- modify it under the terms of the Software License Agreement Provided
+-- in the file <distribution-root>/readme/license.txt.
+--
+-- LOG
+-- Use cvs log to obtain detailed change logs.
+*/
+
+#ifdef __APPLE__
+
+/*LINTLIBRARY*/
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#if defined(max)
+# undef max
+#endif
+#define max(A,B) (((A)<(B))?(B):(A))
+
+extern char *mktemp();
+extern int access();
+int d_access();
+
+char *
+dtempnam(dir, prefix)
+char *dir; /* use this directory please (if non-NULL) */
+char *prefix; /* use this (if non-NULL) as filename prefix */
+{
+ static int count = 0;
+ register char *p, *q, *tmpdir;
+ int tl=0, dl=0, pl;
+ char buf[30];
+
+ pl = strlen(P_tmpdir);
+
+ if( (tmpdir = getenv("TMPDIR")) != NULL ) tl = strlen(tmpdir);
+ else if( (tmpdir = getenv("TMP")) != NULL ) tl = strlen(tmpdir);
+ if( dir != NULL ) dl = strlen(dir);
+
+ if( (p = malloc((unsigned)(max(max(dl,tl),pl)+13))) == NULL )
+ return(NULL);
+
+ *p = '\0';
+
+ if( (tl == 0) || (d_access( strcpy(p, tmpdir), 0) != 0) )
+ if( (dl == 0) || (d_access( strcpy(p, dir), 0) != 0) )
+ if( d_access( strcpy(p, P_tmpdir), 0) != 0 )
+ if( !prefix )
+ prefix = "tp";
+
+ if(prefix)
+ {
+ *(p+strlen(p)+2) = '\0';
+ (void)strncat(p, prefix, 2);
+ }
+
+ sprintf( buf, "%08x", getpid() );
+ buf[6]='\0';
+ (void)strcat(p, buf );
+ sprintf( buf, "%04d", count++ );
+ q=p+strlen(p)-6;
+ *q++ = buf[0]; *q++ = buf[1];
+ *q++ = buf[2]; *q++ = buf[3];
+
+ if( (q = strrchr(p,'.')) != NULL ) *q = '\0';
+
+ return(p);
+}
+
+
+
+d_access( name, flag )
+char *name;
+int flag;
+{
+ extern char *DirSepStr;
+ char *p;
+ int r;
+
+ if( name == NULL || !*name ) return(1); /* NULL dir means current dir */
+ r = access( name, flag );
+ p = name+strlen(name)-1;
+ if(*p != '/' && *p != '\\') strcat( p, DirSepStr );
+
+ return( r );
+}
+
+#endif