/[guile]/guile/guile-core/HACKING
ViewVC logotype

Diff of /guile/guile-core/HACKING

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.39 by mdj, Wed Jun 14 22:01:25 2000 UTC revision 1.39.2.1 by ttn, Sun Feb 10 00:22:07 2002 UTC
# Line 1  Line 1 
1  Hacking It Yourself ==================================================  Hacking It Yourself ==================================================
2    
3  As distributed, Guile needs only an ANSI C compiler and a Unix system  When Guile is obtained from CVS, a few extra steps must be taken
4  to compile.  However, Guile's makefiles, configuration scripts, and a  before the usual configure, make, make install.  You will need to have
5  few other files are automatically generated, not written by hand.  If  up-to-date versions of the tools listed below, correctly installed.
6  you want to make changes to the system (which we encourage!) you will  i.e., they must be found in the current PATH and not shadowed or
7  find it helpful to have the tools we use to develop Guile.  They  otherwise broken by files left behind from other versions.
8  are the following:  
9    "up-to-date" means the latest released versions at the time that Guile
10    was obtained from CVS.  Sometimes older or newer versions will work.
11    
12    Then you must run the autogen.sh script, as described below.
13    
14    In case of problems, it may be worth getting a fresh copy of Guile
15    from CVS: synchronisation problems have been known to occur
16    occasionally.
17    
18    The same procedure can be used to regenerate the files in released
19    versions of Guile.  In that case the headers of the original generated
20    files (e.g., configure, Makefile.in, ltmain.sh) can be used to
21    identify which tool versions may be required.
22    
23  Autoconf 2.13 --- a system for automatically generating `configure'  Autoconf --- a system for automatically generating `configure'
24          scripts from templates which list the non-portable features a          scripts from templates which list the non-portable features a
25          program would like to use.  Available in          program would like to use.  Available in
26          "ftp://ftp.gnu.org/pub/gnu/autoconf"          "ftp://ftp.gnu.org/pub/gnu/autoconf"
27    
28  Automake 1.4 --- a system for automatically generating Makefiles that  Automake --- a system for automatically generating Makefiles that
29          conform to the (rather Byzantine) GNU coding standards.  The          conform to the (rather Byzantine) GNU coding standards.  The
30          nice thing is that it takes care of hairy targets like 'make          nice thing is that it takes care of hairy targets like 'make
31          dist' and 'make distclean', and automatically generates          dist' and 'make distclean', and automatically generates
32          Makefile dependencies.  Automake is available in          Makefile dependencies.  Automake is available in
33          "ftp://ftp.gnu.org/pub/gnu/automake"          "ftp://ftp.gnu.org/pub/gnu/automake"
34    
35          Before using automake, you may need to copy `threads.m4' and  libtool --- a system for managing the zillion hairy options needed
         `guile.m4' from the top directory of the Guile core disty to  
         `/usr/local/share/aclocal.  
   
 libtool 1.3.5 --- a system for managing the zillion hairy options needed  
36          on various systems to produce shared libraries.  Available in          on various systems to produce shared libraries.  Available in
37          "ftp://ftp.gnu.org/pub/gnu/libtool"          "ftp://ftp.gnu.org/pub/gnu/libtool"
38    
39  You are lost in a little maze of automatically generated files, all  One false move and you will be lost in a little maze of automatically
40  different.  generated files, all different.
 >  
41    
42    
43  Contributing Your Changes ============================================  Contributing Your Changes ============================================
# Line 287  diff -r -u cvs-1.10/src/cvs.h cvs-1.10.i Line 295  diff -r -u cvs-1.10/src/cvs.h cvs-1.10.i
295  --- cvs-1.10/src/cvs.h  Mon Jul 27 04:54:11 1998  --- cvs-1.10/src/cvs.h  Mon Jul 27 04:54:11 1998
296  +++ cvs-1.10.ignore-hack/src/cvs.h      Sun Jan 23 12:58:09 2000  +++ cvs-1.10.ignore-hack/src/cvs.h      Sun Jan 23 12:58:09 2000
297  @@ -516,7 +516,7 @@  @@ -516,7 +516,7 @@
298    
299   extern int ign_name PROTO ((char *name));   extern int ign_name PROTO ((char *name));
300   void ign_add PROTO((char *ign, int hold));   void ign_add PROTO((char *ign, int hold));
301  -void ign_add_file PROTO((char *file, int hold));  -void ign_add_file PROTO((char *file, int hold));
# Line 327  diff -r -u cvs-1.10/src/ignore.c cvs-1.1 Line 335  diff -r -u cvs-1.10/src/ignore.c cvs-1.1
335       free (line);       free (line);
336  +    return 1;  +    return 1;
337   }   }
338    
339   /* Parse a line of space-separated wildcards and add them to the list. */   /* Parse a line of space-separated wildcards and add them to the list. */
340  @@ -375,6 +376,7 @@  @@ -375,6 +376,7 @@
341       struct stat sb;       struct stat sb;
342       char *file;       char *file;
343       char *xdir;       char *xdir;
344  +    char *cvsdotignore;  +    char *cvsdotignore;
345    
346       /* Set SUBDIRS if we have subdirectory information in ENTRIES.  */       /* Set SUBDIRS if we have subdirectory information in ENTRIES.  */
347       if (entries == NULL)       if (entries == NULL)
348  @@ -397,7 +399,10 @@  @@ -397,7 +399,10 @@
349       if (dirp == NULL)       if (dirp == NULL)
350          return;          return;
351    
352  -    ign_add_file (CVSDOTIGNORE, 1);  -    ign_add_file (CVSDOTIGNORE, 1);
353  +    cvsdotignore = getenv("CVSDOTIGNORE");  +    cvsdotignore = getenv("CVSDOTIGNORE");
354  +    if (cvsdotignore == NULL || !ign_add_file (cvsdotignore, 1))  +    if (cvsdotignore == NULL || !ign_add_file (cvsdotignore, 1))
355  +      ign_add_file (CVSDOTIGNORE, 1);  +      ign_add_file (CVSDOTIGNORE, 1);
356  +  +
357       wrap_add_file (CVSDOTWRAPPER, 1);       wrap_add_file (CVSDOTWRAPPER, 1);
358    
359       while ((dp = readdir (dirp)) != NULL)       while ((dp = readdir (dirp)) != NULL)
360  === patch end ===  === patch end ===
361    
# Line 362  This one is for pcl-cvs-2.9.2, so that ` Line 370  This one is for pcl-cvs-2.9.2, so that `
370   Can only be used in the *cvs* buffer."   Can only be used in the *cvs* buffer."
371     (save-window-excursion     (save-window-excursion
372  -    (set-buffer (find-file-noselect (expand-file-name ".cvsignore" dir)))  -    (set-buffer (find-file-noselect (expand-file-name ".cvsignore" dir)))
373  +    (set-buffer (find-file-noselect  +    (set-buffer (find-file-noselect
374  +                (expand-file-name (or (getenv "CVSDOTIGNORE")  +                (expand-file-name (or (getenv "CVSDOTIGNORE")
375  +                                      ".cvsignore")  +                                      ".cvsignore")
376  +                                  dir)))  +                                  dir)))

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.39.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26