Make the spawn module an include file as suggested by Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@1649 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -33,20 +33,31 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Check out if we have a spawn() function on the system, or if we must use
|
||||||
|
* our own.
|
||||||
|
*/
|
||||||
|
#if defined(__WATCOMC__) || defined(_MSC_VER) || defined(__MINGW32__) || defined(__DJGPP__)
|
||||||
|
# define HAVE_SPAWN 1
|
||||||
|
#else
|
||||||
|
# define NEED_SPAWN 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#if defined(__WATCOMC__) || defined(_MSC_VER) || defined(__MINGW32__)
|
#ifdef HAVE_SPAWN
|
||||||
# include <process.h> /* DOS, OS/2 and Windows */
|
# include <process.h>
|
||||||
#else
|
|
||||||
# include "spawn.h" /* All others */
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* common */
|
/* common */
|
||||||
|
#include "attrib.h"
|
||||||
#include "cmdline.h"
|
#include "cmdline.h"
|
||||||
#include "fname.h"
|
#include "fname.h"
|
||||||
|
#include "strbuf.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
@@ -123,6 +134,24 @@ static char* TargetLib = 0;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/* Include the system specific spawn function */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(NEED_SPAWN)
|
||||||
|
# if defined(SPAWN_UNIX)
|
||||||
|
# include "spawn-unix.inc"
|
||||||
|
# elif defined(SPAWN_AMIGA)
|
||||||
|
# include "spawn-amiga.inc"
|
||||||
|
# else
|
||||||
|
# error "Don't know which spawn module to include!"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* Determine a file type */
|
/* Determine a file type */
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -5,15 +5,18 @@
|
|||||||
# Library dir
|
# Library dir
|
||||||
COMMON = ../common
|
COMMON = ../common
|
||||||
|
|
||||||
|
# Type of spawn function to use
|
||||||
|
SPAWN = SPAWN_UNIX
|
||||||
|
|
||||||
|
|
||||||
CC=gcc
|
CC=gcc
|
||||||
CFLAGS = -O2 -g -Wall -W -I$(COMMON)
|
CFLAGS = -O2 -g -Wall -W -I$(COMMON) -D$(SPAWN)
|
||||||
EBIND = emxbind
|
EBIND = emxbind
|
||||||
LDFLAGS=
|
LDFLAGS=
|
||||||
|
|
||||||
OBJS = error.o \
|
OBJS = error.o \
|
||||||
global.o \
|
global.o \
|
||||||
main.o \
|
main.o
|
||||||
spawn-unix.o
|
|
||||||
|
|
||||||
LIBS = $(COMMON)/common.a
|
LIBS = $(COMMON)/common.a
|
||||||
|
|
||||||
@@ -31,7 +34,7 @@ endif
|
|||||||
|
|
||||||
|
|
||||||
cl65: $(OBJS) $(LIBS)
|
cl65: $(OBJS) $(LIBS)
|
||||||
$(CC) $(LDFLAGS) -o cl65 $(CFLAGS) $(OBJS) $(LIBS)
|
$(CC) $(LDFLAGS) -o cl65 $(OBJS) $(LIBS)
|
||||||
@if [ $(OS2_SHELL) ] ; then $(EBIND) cl65 ; fi
|
@if [ $(OS2_SHELL) ] ; then $(EBIND) cl65 ; fi
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@@ -47,7 +50,7 @@ zap: clean
|
|||||||
.PHONY: depend dep
|
.PHONY: depend dep
|
||||||
depend dep: $(OBJS:.o=.c)
|
depend dep: $(OBJS:.o=.c)
|
||||||
@echo "Creating dependency information"
|
@echo "Creating dependency information"
|
||||||
$(CC) -I$(COMMON) -MM $^ > .depend
|
$(CC) -I$(COMMON) -D$(SPAWN) -MM $^ > .depend
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* spawn-amiga.c */
|
/* spawn-amiga.inc */
|
||||||
/* */
|
/* */
|
||||||
/* Execute other external programs (Amiga version) */
|
/* Execute other external programs (Amiga version) */
|
||||||
/* */
|
/* */
|
||||||
@@ -34,10 +34,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <clib/dos_protos.h>
|
#include <clib/dos_protos.h>
|
||||||
|
|
||||||
/* common */
|
|
||||||
#include "attrib.h"
|
|
||||||
#include "strbuf.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* spawn.c */
|
/* spawn-unix.inc */
|
||||||
/* */
|
/* */
|
||||||
/* Execute other external programs (Unix version) */
|
/* Execute other external programs (Unix version) */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 1999 Ullrich von Bassewitz */
|
/* (C) 1999-2002 Ullrich von Bassewitz */
|
||||||
/* Wacholderweg 14 */
|
/* Wacholderweg 14 */
|
||||||
/* D-70597 Stuttgart */
|
/* D-70597 Stuttgart */
|
||||||
/* EMail: uz@musoftware.de */
|
/* EMail: uz@musoftware.de */
|
||||||
@@ -39,11 +39,20 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
|
||||||
/* common */
|
|
||||||
#include "attrib.h"
|
|
||||||
|
|
||||||
/* cl65 */
|
|
||||||
#include "error.h"
|
/*****************************************************************************/
|
||||||
|
/* Data */
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Mode argument for spawn. This value is ignored by the function and only
|
||||||
|
* provided for DOS/Windows compatibility.
|
||||||
|
*/
|
||||||
|
#ifndef P_WAIT
|
||||||
|
#define P_WAIT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user