[vorbis-dev] explicit header deps: patch

Erik Kruus kruus at duck.com
Wed Aug 23 10:58:10 PDT 2000



  Here are some very small header patches to make header dependencies
less visible.  If other developers would like to use cxref to produce
cross-referenced html source, I can post a Makefile to do this.
  Sorry about not being able to send it as an attachment.  You can
also get it at http://216.164.32.243/~kruus/vorbis/ for now, but my
net connection is slow.
  'cxref' suits my purposes, and perhaps yours, but if there is interest
(and a web site) I would consider setting up a more 'serious' web-centric
source-code browser like lxr.

Please consider adding this to the CVS tree.

cxref.patch:
        makes header files more independent by explicitly including
        prerequesites.  
why made?  
        Allow easier use of headers by having the .h files explicitly include
        some required headers.
        (Allows source cross-referencing with 'cxref' to work more nicely too)
how made?
         diff -c2 -bBw -r -x 'Mak*' -x 'conf*' -x CVS -x '*.c'
                vorbis.now vorbis.nowp > cxref.patch
how to use?
 kruus at hilly:~/v$ cp -uar vorbis.now vorbis.new
 kruus at hilly:~/v$ cd vorbis.new
 kruus at hilly:~/v/vorbis.new$ patch -p1 < ../cxref.patch 2>&1 | tee xrefpatch.log
 patching file `cmdline/header.h'
 patching file `include/vorbis/backends.h'
 patching file `lib/registry.h'
 patching file `lib/spectrum.h'
 patching file `vq/vqgen.h'
 patching file `vq/vqsplit.h'
 kruus at hilly:~/v/vorbis.new$ 
The patch itself:
----------------------------------------------- cxref.patch
diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/cmdline/header.h vorbis.nowp/cmdline/header.h
*** vorbis.now/cmdline/header.h Thu Jul 15 03:33:27 1999
--- vorbis.nowp/cmdline/header.h        Wed Aug 23 13:15:48 2000
***************
*** 23,26 ****
--- 23,28 ----
  #define _V_HEADER_H_

+ #include <stdio.h>  /* FILE */
+
  typedef struct file_type{
    long channels;
diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/include/vorbis/backends.h vorbis.nowp/include/vorbis/backends.h
*** vorbis.now/include/vorbis/backends.h        Wed Jul 12 05:36:17 2000
--- vorbis.nowp/include/vorbis/backends.h       Wed Aug 23 13:15:48 2000
***************
*** 25,28 ****
--- 25,30 ----
  #define _vorbis_time_backend_h_

+ #include "codec.h"    /* vorbis_info_time, etc. */
+
  /* this would all be simpler/shorter with templates, but.... */
  /* Transform backend generic *************************************/
diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/lib/registry.h vorbis.nowp/lib/registry.h
*** vorbis.now/lib/registry.h   Sat Jan 22 08:28:30 2000
--- vorbis.nowp/lib/registry.h  Wed Aug 23 13:15:48 2000
***************
*** 27,30 ****
--- 27,32 ----
  #define VI_MAPB 1

+ #include "vorbis/backends.h"
+
  extern vorbis_func_time      *_time_P[];
  extern vorbis_func_floor     *_floor_P[];
diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/lib/spectrum.h vorbis.nowp/lib/spectrum.h
*** vorbis.now/lib/spectrum.h   Tue Jan  4 04:05:04 2000
--- vorbis.nowp/lib/spectrum.h  Wed Aug 23 13:15:48 2000
***************
*** 20,23 ****
--- 20,25 ----
  #define _V_SPECT_H_

+ #include "vorbis/codec.h"
+
  extern int  _vs_spectrum_encode(vorbis_block *vb,double amp,double *lsp);
  extern int  _vs_spectrum_decode(vorbis_block *vb,double *amp,double *lsp);
diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/vq/vqgen.h vorbis.nowp/vq/vqgen.h
*** vorbis.now/vq/vqgen.h       Tue Jun 13 21:38:32 2000
--- vorbis.nowp/vq/vqgen.h      Wed Aug 23 13:15:48 2000
***************
*** 20,23 ****
--- 20,25 ----
  #define _VQGEN_H_

+ #include <stdio.h>    /* FILE */
+
  typedef struct vqgen{
    int seeded;
diff -c2 -bBw -r -x Mak* -x conf* -x CVS -x *.c vorbis.now/vq/vqsplit.h vorbis.nowp/vq/vqsplit.h
*** vorbis.now/vq/vqsplit.h     Mon May  8 16:49:51 2000
--- vorbis.nowp/vq/vqsplit.h    Wed Aug 23 13:15:48 2000
***************
*** 21,24 ****
--- 21,25 ----

  #include "vorbis/codebook.h"
+ #include "vqgen.h"        /* vqgen */

  extern void vqsp_book(vqgen *v,codebook *b,long *quantlist);

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/



More information about the Vorbis-dev mailing list