1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-28 19:29:53 +00:00

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:
cuz 2002-11-25 21:12:00 +00:00
parent 345d2ddf54
commit ef886278a8
4 changed files with 61 additions and 24 deletions

View File

@ -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 <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#if defined(__WATCOMC__) || defined(_MSC_VER) || defined(__MINGW32__)
# include <process.h> /* DOS, OS/2 and Windows */
#else
# include "spawn.h" /* All others */
#ifdef HAVE_SPAWN
# include <process.h>
#endif
/* common */
#include "attrib.h"
#include "cmdline.h"
#include "fname.h"
#include "strbuf.h"
#include "target.h"
#include "version.h"
#include "xmalloc.h"
@ -124,7 +135,25 @@ static char* TargetLib = 0;
/*****************************************************************************/
/* Determine a file type */
/* 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 */
/*****************************************************************************/

View File

@ -5,15 +5,18 @@
# Library dir
COMMON = ../common
# Type of spawn function to use
SPAWN = SPAWN_UNIX
CC=gcc
CFLAGS = -O2 -g -Wall -W -I$(COMMON)
CFLAGS = -O2 -g -Wall -W -I$(COMMON) -D$(SPAWN)
EBIND = emxbind
LDFLAGS=
OBJS = error.o \
global.o \
main.o \
spawn-unix.o
main.o
LIBS = $(COMMON)/common.a
@ -31,7 +34,7 @@ endif
cl65: $(OBJS) $(LIBS)
$(CC) $(LDFLAGS) -o cl65 $(CFLAGS) $(OBJS) $(LIBS)
$(CC) $(LDFLAGS) -o cl65 $(OBJS) $(LIBS)
@if [ $(OS2_SHELL) ] ; then $(EBIND) cl65 ; fi
clean:
@ -47,7 +50,7 @@ zap: clean
.PHONY: depend dep
depend dep: $(OBJS:.o=.c)
@echo "Creating dependency information"
$(CC) -I$(COMMON) -MM $^ > .depend
$(CC) -I$(COMMON) -D$(SPAWN) -MM $^ > .depend

View File

@ -1,6 +1,6 @@
/*****************************************************************************/
/* */
/* spawn-amiga.c */
/* spawn-amiga.inc */
/* */
/* Execute other external programs (Amiga version) */
/* */
@ -34,10 +34,6 @@
#include <stdio.h>
#include <clib/dos_protos.h>
/* common */
#include "attrib.h"
#include "strbuf.h"
/*****************************************************************************/

View File

@ -1,15 +1,15 @@
/*****************************************************************************/
/* */
/* spawn.c */
/* spawn-unix.inc */
/* */
/* Execute other external programs (Unix version) */
/* */
/* */
/* */
/* (C) 1999 Ullrich von Bassewitz */
/* Wacholderweg 14 */
/* D-70597 Stuttgart */
/* EMail: uz@musoftware.de */
/* (C) 1999-2002 Ullrich von Bassewitz */
/* Wacholderweg 14 */
/* D-70597 Stuttgart */
/* EMail: uz@musoftware.de */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
@ -39,11 +39,20 @@
#include <sys/types.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