This is conf.c in view mode; [Download] [Up]
#include <stdio.h> main(argc,argv) char *argv[]; { int x; int bits=8; int isiz=sizeof(int); int lsiz=sizeof(long); int shft; long maxint; FILE *f=fopen("config.h","w"); FILE *g; /* Output header */ fprintf(f,"/* Configuration file generated by conf.c program */\n"); fprintf(f,"\n"); fprintf(f,"#ifndef _Iconfig\n"); fprintf(f,"#define _Iconfig 1\n"); fprintf(f,"\n"); fprintf(f,"/* Path where main.c tries to open rc file */\n"); fprintf(f,"#define JOERC \"%s/\"\n\n",argv[1]); fprintf(f,"/* Define to prevent joe from using /dev/tty */\n"); if(argv[2][0]=='0') fprintf(f,"/* #define IDLEOUT 1 */\n"); else fprintf(f,"#define IDLEOUT 1\n"); fprintf(f,"\n"); /* Figure out what type of tty we have */ if(g=fopen("/usr/include/termios.h","r")) { fprintf(f,"/* Uncomment the tty type. Leave all uncommented for BSD */\n"); fprintf(f,"#define TTYPOSIX 1\n"); fprintf(f,"/* #define SYSPOSIX 1*/\n"); fprintf(f,"/* #define TTYSV 1 */\n"); fprintf(f,"/* #define SYSSV 1 */\n"); fclose(g); } else if(g=fopen("/usr/include/sys/termios.h","r")) { fprintf(f,"/* Uncomment the tty type. Leave all uncommented for BSD */\n"); fprintf(f,"#define TTYPOSIX 1\n"); fprintf(f,"#define SYSPOSIX 1\n"); fprintf(f,"/* #define TTYSV 1 */\n"); fprintf(f,"/* #define SYSSV 1 */\n"); fclose(g); } else if(g=fopen("/usr/include/termio.h","r")) { fprintf(f,"/* Uncomment the tty type. Leave both uncommented for BSD */\n"); fprintf(f,"/* #define TTYPOSIX 1 */\n"); fprintf(f,"/* #define SYSPOSIX 1 */\n"); fprintf(f,"#define TTYSV 1\n"); fprintf(f,"/* #define SYSSV 1 */\n"); fclose(g); } else if(g=fopen("/usr/include/sys/termio.h","r")) { fprintf(f,"/* Uncomment the tty type. Leave all uncommented for BSD */\n"); fprintf(f,"/* #define TTYPOSIX 1 */\n"); fprintf(f,"/* #define SYSPOSIX 1 */\n"); fprintf(f,"#define TTYSV 1\n"); fprintf(f,"#define SYSSV 1\n"); fclose(g); } else { fprintf(f,"/* Uncomment the tty type. Leave all uncommented for BSD */\n"); fprintf(f,"/* #define TTYPOSIX 1 */\n"); fprintf(f,"/* #define SYSPOSIX 1 */\n"); fprintf(f,"/* #define TTYSV 1 */\n"); fprintf(f,"/* #define SYSSV 1 */\n"); fclose(g); } fprintf(f,"\n"); /* Figure out what type of directory access we have */ if(g=fopen("/usr/include/dirent.h","r")) { fprintf(f,"/* Uncomment the directory access type. Leave all commented for none */\n"); fprintf(f,"#define DIRENT 1\n"); fprintf(f,"/* #define SYSDIRENT 1 */\n"); fprintf(f,"/* #define SYSDIR 1 */\n"); fprintf(f,"/* #define BSDSYSDIR 1 */\n"); fclose(g); } else if(g=fopen("/usr/include/sys/dirent.h","r")) { fprintf(f,"/* Uncomment the directory access type. Leave all commented for none */\n"); fprintf(f,"/* #define DIRENT 1 */\n"); fprintf(f,"#define SYSDIRENT 1\n"); fprintf(f,"/* #define SYSDIR 1 */\n"); fprintf(f,"/* #define BSDSYSDIR 1 */\n"); fclose(g); } else if(g=fopen("/usr/include/sys/dir.h","r")) { fprintf(f,"/* Uncomment the directory access type. Leave all commented for none */\n"); fprintf(f,"/* #define DIRENT 1 */\n"); fprintf(f,"/* #define SYSDIRENT 1 */\n"); fprintf(f,"#define SYSDIR 1\n"); fprintf(f,"/* #define BSDSYSDIR 1 */\n"); fclose(g); } else if(g=fopen("/usr/include/bsd/sys/dir.h","r")) { fprintf(f,"/* Uncomment the directory access type. Leave all commented for none */\n"); fprintf(f,"/* #define DIRENT 1 */\n"); fprintf(f,"/* #define SYSDIRENT 1 */\n"); fprintf(f,"/* #define SYSDIR 1 */\n"); fprintf(f,"#define BSDSYSDIR 1\n"); fclose(g); } fprintf(f,"\n"); for(shft=0,x=1;x<isiz;++shft,x<<=1); fprintf(f,"#define BITS %d /* Bits in a byte */\n",bits); fprintf(f,"#define ISIZ %d /* Int size in bytes */\n",isiz); fprintf(f,"#define SHFT %d /* Log base 2 of ISIZ */\n",shft); for(maxint=1,x=0;x<bits*isiz-1;maxint<<=1,++x); --maxint; fprintf(f,"#define MAXINT 0x%lX /* Largest Int */\n",maxint); for(maxint=1,x=0;x<bits*lsiz-1;maxint<<=1,++x); --maxint; fprintf(f,"#define MAXLONG 0x%lX /* Largest Long */\n",maxint); fprintf(f,"\n"); fprintf(f,"/* Uncomment the next line if your compiler has trouble with void */\n"); fprintf(f,"/* #define void int */\n"); fprintf(f,"\n"); fprintf(f,"#ifndef NULL\n"); fprintf(f,"#define NULL ((void *)0)\n"); fprintf(f,"#endif\n"); fprintf(f,"\n"); fprintf(f,"#ifndef HZ\n"); fprintf(f,"#define HZ 10\n"); fprintf(f,"#endif\n"); fprintf(f,"\n"); fprintf(f,"/* #define AUTOINC 1 */\n"); fprintf(f,"/* #define ALIGNED 1 */\n"); #ifdef __MSDOS__ if(sizeof(void *)==4) { fprintf(f,"#define physical(a) (((unsigned long)(a)&0xFFFF)+(((unsigned long)(a)&0xFFFF0000)>>12))\n"); fprintf(f,"#define normalize(a) \\\n\ ((void *)(((unsigned long)(a)&0xFFFF000F)+(((unsigned long)(a)&0x0000FFF0)<<12)))\n"); } else { fprintf(f,"#define physical(a) ((unsigned long)(a))\n"); fprintf(f,"#define normalize(a) (a)\n"); } fprintf(f,"#define SEGSIZ 1024\n"); fprintf(f,"#define PGSIZE 1024\n"); fprintf(f,"#define LPGSIZE 10\n"); fprintf(f,"#define ILIMIT (PGSIZE*96L)\n"); fprintf(f,"#define HTSIZE 128\n"); #else fprintf(f,"#define physical(a) ((unsigned long)(a))\n"); fprintf(f,"#define normalize(a) (a)\n"); fprintf(f,"#define SEGSIZ 4096\n"); fprintf(f,"#define PGSIZE 4096\n"); fprintf(f,"#define LPGSIZE 12\n"); fprintf(f,"#define ILIMIT (PGSIZE*1024)\n"); fprintf(f,"#define HTSIZE 2048\n"); #endif fprintf(f,"\n"); fprintf(f,"char *getenv();\n"); if(sizeof(long)==8) fprintf(f,"int time();\n"); else fprintf(f,"long time();\n"); fprintf(f,"void *malloc();\n"); fprintf(f,"void free();\n"); fprintf(f,"void *calloc();\n"); fprintf(f,"void *realloc();\n"); fprintf(f,"int jread();\n"); fprintf(f,"int jwrite();\n"); fprintf(f,"\n"); /* End of file */ fprintf(f,"#endif\n"); fclose(f); return 0; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.