[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