#include #include #ifndef WEXITSTATUS #include #endif char buf[32768]; #if (HAS_DEVENV == 0) char * __dev_env; #endif #define __GNUC__ 3 // version-specific switches #if __GNUC__ >= 4 && __GNUC_MINOR__ >= 4 #define GCCOPT "-fno-stack-protector -mincoming-stack-boundary=2 " #elif __GNUC__ >= 4 && __GNUC_MINOR__ >= 1 #define GCCOPT "-fno-stack-protector " #else #define GCCOPT #endif static void __env(void) { char * p=getenv("MENUETDEV"); if(!p) { printf("MENUETDEV system variable not set !!!\n"); exit(-1); } #if (HAS_DEVENV == 0) __dev_env=p; #endif } int main(int argc,char * argv[]) { int u; __env(); if(argc<3) { fprintf(stderr,"Usage: %s infile.c outfile.o\n",argv[0]); return 1; } #if (HAS_DEVENV==1) sprintf(buf,"win32-gcc -c %s -o %s -Os -nostdinc -fno-builtin -I/dev/env/MENUETDEV/include -fno-pic " GCCOPT "-mno-stack-arg-probe -mpreferred-stack-boundary=2 " "-fno-common -DMENUETDEV='\"/dev/env/MENUETDEV\"' " "-D__DEV_CONFIG_H='' -D__MENUETOS__ ",argv[1],argv[2]); #else sprintf(buf,"win32-gcc -c %s -o %s -Os -nostdinc -fno-builtin -I%s/include -fno-pic " GCCOPT "-mno-stack-arg-probe -mpreferred-stack-boundary=2 " "-fno-common -DMENUETDEV='\"%s\"' " "-D__DEV_CONFIG_H=\"<%s/config.h>\" -D__MENUETOS__ ",argv[1],argv[2],__dev_env,__dev_env,__dev_env); #endif if(argc>3) for(u=3;u