On Oct 29, Zdenek Kabelac wrote:
> On Fri, Oct 26, 2001 at 01:38:16PM -0700, Eugene Kuznetsov wrote:
> > Hello Mathew,
> >
> > Friday, October 26, 2001, 1:01:31 PM, you wrote:
> >
> > MK> Somehow, the way avifile links looses the dependancy
> > MK> information. Snooping the .so headers shows this. I guess somehow
> > MK> libtool(?) is to blame, whatever is doing the linking.
> >
> > libwin32.so and other plugins are not linked explicitly to
> > libaviplay.so. Missing symbols should be resolved automatically if
> > plugin is loaded by libaviplay ( unless we have a bug in dynamic
> > linker ).
>
> I think we could link libcommon with libwin32 - the plugin itself
> should be independent on libavifile - as some system can't resolve
> this backward dependencies - thought FreeBSD shouldn't have this
> problem.
>
> But I think linking libcommon will not be that problematic and will
> make libwin32 and other plugins usable without libavifile itself - which
> is good I think.
I'm afraid I really don't undrestand the details of what you
are talking about. Anyway, I've found that whipping up my own makes
files solved the problem. I did ones for lib/ libwin32/ player/. I
think it all comes down to the link (chain|dag|dependacies).
Just for hoots I've included them below.
--Mat
CFLAGS=-Os -pipe
CFLAGS+=-I../include -I/usr/X11R6/include -Iaviplay -Iaviwrite -Iaviread -Isubtitle
-Ivideo -Icommon -DPLUGIN_PATH=\"/usr/local/lib/avifile0.6/\" -DHAVE_XV
-DHAVE_LIBXXF86DGA -DHAVE_LIBXXF86VM -DUSE_SDL -I/usr/local/include/SDL11
VPATH=aviplay/:aviwrite/:aviread/:subtitle/:video/:common/
all: libaviplay.so
libaviplay.so: codeckeeper.o AudioCleaner.o AudioFpHQResampler.o AudioIntResampler.o
AudioQueue.o CopyAudioRenderer.o IAudioRenderer.o OssAudioRenderer.o RegAccess.o
SdlAudioRenderer.o Statistic.o SunAudioRenderer.o VideoDPMS.o aviplay.o aviplay2.o
aviplayprop.o aviplayth.o v_renderer.o renderer.o AsfFileInputStream.o
AsfInputStream.o AsfNetworkInputStream.o AsfReadHandler.o AsfReadStream.o
AsfRedirectInputStream.o AsfStreamSeekInfo.o AsxReader.o AviMediaReadHandler.o
AviMediaReadStream.o AviRead.o AviReadStream.o AviReadStreamA.o AviReadStreamV.o
Cache.o FileIterator.o NetworkIterator.o StreamInfo.o asf_guids.o asffmt.o
AviAudioWriteStream.o AviSegWrite.o AviVideoWriteStream.o AviWrite.o BaseError.o
BitmapInfo.o ConfigEntry.o ConfigFile.o Locker.o Registry.o fcc_type.o image.o
impl_audio.o impl_video.o ldt_keeper.o mmx.o util.o utils.o wave_type.o subtitle.o
subread.o renderer.o Uncompressed.o
#MemQueue
$(CXX) -shared -o $@ -pthread -L/usr/X11R6/lib -lX11 -LXv -lXext -LXft
-L/usr/local/lib -lSDL-1.1 `lorder $^ | tsort -q`
clean:
rm -f *.o *.so
%.o: %.cpp
$(CXX) $(CFLAGS) -c $< -o $@
CFLAGS=-Os -pipe
CFLAGS+=-I../../include -IDirectShow -Iaudiodec -Iloader -Ivideocodec
-DWIN32_PATH=\"/usr/local/lib/win3\" -D__WINE__ -Ddbg_printf=__vprintf
-DTRACE=__vprintf -D__NO_STRING_INLINES
VPATH= DirectShow:audiodec:loader:videocodec
all: libwin32.so
libwin32.so: libwin32.o DS_Filter.o allocator.o cmediasample.o guids.o inputpin.o
outputpin.o ACM_AudioDecoder.o DS_AudioDecoder.o afl.o driver.o elfdll.o ext.o
ldt_keeper.o module.o pe_image.o pe_resource.o registry.o resource.o win32.o
DS_VideoDecoder.o Module.o VideoCodec.o VideoDecoder.o VideoEncoder.o stubs.o
c++ -shared -o $@ $^ -pthread -L/usr/X11R6/lib -lX11 -LXv -lXext -L../../lib/
-laviplay
clean:
rm -f *.o *.so
%.o: %.cpp
$(CXX) $(CFLAGS) -c $< -o $@
MOC=/usr/X11R6/bin/moc2
CFLAGS=-Os -pipe
CFLAGS+=-I../include -I/usr/X11R6/include -I/usr/X11R6/include/qt2
-I/usr/local/include/SDL11
CFLAGS+= -DSHARE_PATH=\"/usr/local/share/avifile0.6\" -DWIN32_PATH=\"/usr/lib/win32\"
-DQT_THREAD_SUPPORT -DUSE_SDL
all: aviplay
aviplay: mywidget_if.o MyConfig.o MyConfigImpl.o mywidget.o decoder_config.o main.o
$(CXX) $^ -o $@ -L/usr/X11R6/lib -lqt2 -pthread -L../lib -laviplay -lX11
clean:
rm -f aviplay *.o *.moc
MyConfig.cpp: MyConfig.moc
MyConfigImpl.cpp: MyConfigImpl.moc
mywidget.cpp: mywidget.moc
decoder_config.cpp: decoder_config.moc
%.moc: %.h
$(MOC) < $< > $@
%.o: %.cpp
$(CXX) $(CFLAGS) -c -o $@ $<