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@hilly:~/v$ cp -uar vorbis.now vorbis.new kruus@hilly:~/v$ cd vorbis.new kruus@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@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/