home *** CD-ROM | disk | FTP | other *** search
/ Peanuts NeXT Software Archives / Peanuts-2.iso / X11 / clients / wm / AfterStep-0.98aBETA32b.README < prev    next >
Encoding:
Text File  |  1996-09-06  |  5.5 KB  |  190 lines

  1. This is the BETA32-0.98a of the AfterStep X11 window manager, compiled quad-FAT for NEXTSTEP 3.x.
  2.  
  3. AfterStep is fvwm-derivate that establishes a NEXTSTEP-like look-and-feel for X11. On NEXTSTEP, it can be used with X11 servers like Cub'X and Co-Xist or Stefan Leuker's shareware X11R6 server Xnext (for information about Xnext, see http://www-users.informatik.rwth-aachen.de/~leuker/Xnext).
  4.  
  5. For compiling with NEXTSTEP, a few little hacks had to be applied. A patch file is included below. I hope that the final 1.0 release of AfterStep will include these fixes. 
  6.  
  7.     Gregor Hoffleit <flight@mathi.uni-heidelberg.de>
  8.  
  9.  
  10.  
  11.  
  12. ###
  13. ### Patch for compiling as-b32 with NEXTSTEP
  14. ###       (patch release 0.01, 030996)
  15. ###
  16. ### - unpack
  17. ### - apply patch
  18. ### - make
  19. ###
  20. ### Patch release note:
  21. ### - Patch introduces a new file lib/myputenv.c
  22. ### - To compile thin, change ./configure.h: #define COMPILER CC=cc
  23. ###
  24.  
  25. diff -urN /tmp/O_1_as-b32/AfterStep-0.98aBETA32/configure.h ./configure.h
  26. --- /tmp/O_1_as-b32/AfterStep-0.98aBETA32/configure.h    Mon Aug 26 21:09:46 1996
  27. +++ ./configure.h    Tue Sep  3 12:43:03 1996
  28. @@ -19,7 +19,7 @@
  29.  
  30.  /* Compiler over-ride for Imakefiles */
  31.  /* Leave it as shown to get your default compiler */
  32. -#define COMPILER CC=cc
  33. +#define COMPILER CC=cc -arch "m68k" -arch "i486" -arch "sparc" -arch "hppa"
  34.  /* #define COMPILER */
  35.  
  36.  
  37. @@ -140,6 +140,17 @@
  38.  
  39.  #else
  40.  
  41. +#if defined(NeXT)
  42. +
  43. +#undef HAVE_WAITPID 
  44. +#define HAVE_GETITIMER 1
  45. +#define HAVE_SETITIMER 1
  46. +#undef HAVE_SYSCONF
  47. +#undef HAVE_UNAME
  48. +#define HAVE_GETHOSTNAME 1
  49. +
  50. +#else
  51. +
  52.  /**************************************************************************
  53.   *
  54.   * Do it yourself here if you don't like the above!
  55. @@ -167,6 +178,7 @@
  56.  #define HAVE_UNAME 1
  57.  /* #define HAVE_GETHOSTNAME 1 */
  58.  
  59. +#endif /* NeXT */
  60.  #endif /* End of do-it-yourself OS support section */
  61.  
  62.  
  63. diff -urN /tmp/O_1_as-b32/AfterStep-0.98aBETA32/lib/Imakefile ./lib/Imakefile
  64. --- /tmp/O_1_as-b32/AfterStep-0.98aBETA32/lib/Imakefile    Wed Aug 21 16:23:33 1996
  65. +++ ./lib/Imakefile    Tue Sep  3 12:23:40 1996
  66. @@ -12,7 +12,7 @@
  67.  
  68.  OBJS = CatString3.o SendInfo.o SendText.o wild.o safemalloc.o findIconFile.o \
  69.         mystrcasecmp.o strncmp.o hostname.o  ReadPacket.o \
  70. -       sleep.o CopyString.o mygetostype.o GetFdWidth.o
  71. +       sleep.o CopyString.o mygetostype.o GetFdWidth.o myputenv.o
  72.  
  73.  NormalLibraryTarget(afterstep, $(OBJS))
  74.  
  75. diff -urN /tmp/O_1_as-b32/AfterStep-0.98aBETA32/lib/myputenv.c ./lib/myputenv.c
  76. --- /tmp/O_1_as-b32/AfterStep-0.98aBETA32/lib/myputenv.c    Thu Jan  1 01:00:00 1970
  77. +++ ./lib/myputenv.c    Tue Sep  3 12:23:27 1996
  78. @@ -0,0 +1,111 @@
  79. +/****************************************************************/
  80. +/*                                */
  81. +/*    putenv(3)                        */
  82. +/*                                */
  83. +/*        Change or add an environment entry        */
  84. +/*                                */
  85. +/****************************************************************/
  86. +/*   origination        1987-Oct-7               T. Holm    */
  87. +/* (slightly modified by karl@cs.umb.edu for kpathsea.)         */
  88. +/****************************************************************/
  89. +
  90. +/*
  91. +Path: hoptoad!pacbell!ames!ll-xn!mit-eddie!uw-beaver!ssc-vax!uvicctr!tholm
  92. +From: tholm@uvicctr.UUCP (Terrence W. Holm)
  93. +Newsgroups: comp.os.minix
  94. +Subject: putenv(3)
  95. +Message-ID: <395@uvicctr.UUCP>
  96. +Date: 5 May 88 06:40:52 GMT
  97. +Organization: University of Victoria, Victoria B.C. Canada
  98. +
  99. +EFTH Minix report #2  - May 1988 -  putenv(3)
  100. +
  101. +This is an implementation of putenv(3) that we
  102. +wrote for Minix. Please consider this a public
  103. +domain program.
  104. +*/
  105. +
  106. +#define NULL 0
  107. +#define  PSIZE  sizeof(char *)
  108. +
  109. +extern  char  **environ;
  110. +
  111. +char  *strchr();
  112. +char  *malloc();
  113. +
  114. +/****************************************************************/
  115. +/*                                */
  116. +/*      int                            */
  117. +/*    putenv( entry )                        */
  118. +/*                                */
  119. +/*        The "entry" should follow the form         */
  120. +/*        "NAME=VALUE". This routine will search the     */
  121. +/*        user environment for "NAME" and replace its     */
  122. +/*        value with "VALUE".                */
  123. +/*                                */
  124. +/*        Note that "entry" is not copied, it is used     */
  125. +/*        as the environment entry. This means that it     */
  126. +/*        must not be unallocated or otherwise modifed     */
  127. +/*        by the caller, unless it is replaced by a     */
  128. +/*        subsequent putenv().                */
  129. +/*                                */
  130. +/*        If the name is not found in the environment,     */
  131. +/*        then a new vector of pointers is allocated,     */
  132. +/*        "entry" is put at the end and the global     */
  133. +/*        variable "environ" is updated.            */
  134. +/*                                */
  135. +/*        This function normally returns 0, but -1    */
  136. +/*        is returned if it can not allocate enough     */
  137. +/*        space using malloc(3), or "entry" does not    */
  138. +/*        contain a '='.                    */
  139. +/*                                */
  140. +/****************************************************************/
  141. +
  142. +
  143. +int
  144. +putenv( entry )
  145. +  char *entry;
  146. +{
  147. +  unsigned length;
  148. +  unsigned size;
  149. +  char     *temp;
  150. +  char     **p;
  151. +  char     **new_environ;
  152. +
  153. +  /*  Find the length of the "NAME="  */
  154. +
  155. +  temp = strchr(entry,'=');
  156. +  if ( temp == 0 )
  157. +    return( -1 );
  158. +
  159. +  length = (unsigned) (temp - entry + 1);
  160. +
  161. +
  162. +  /*  Scan through the environment looking for "NAME="  */
  163. +
  164. +  for ( p=environ; *p != 0 ; p++ )
  165. +    if ( strncmp( entry, *p, length ) == 0 )
  166. +      {
  167. +      *p = entry;
  168. +      return( 0 );
  169. +      }
  170. +
  171. +
  172. +  /*  The name was not found, build a bigger environment  */
  173. +
  174. +  size = p - environ;
  175. +
  176. +  new_environ = (char **) malloc( (size+2)*PSIZE );
  177. +
  178. +  if ( new_environ == (char **) NULL )
  179. +    return( -1 );
  180. +
  181. +  memcpy ((char *) new_environ, (const char *) environ, size*PSIZE );
  182. +
  183. +  new_environ[size]   = entry;
  184. +  new_environ[size+1] = NULL;
  185. +
  186. +  environ = new_environ;
  187. +
  188. +  return(0);
  189. +}
  190.