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 $@ $<


Reply via email to