From 63d05d64826fd1b3eef89e5a8a14a73b318464ac Mon Sep 17 00:00:00 2001 From: jcorgan Date: Mon, 26 Feb 2007 21:26:10 +0000 Subject: [PATCH] Merged r4632:4645 on jcorgan/linking into trunk. Cleans up linking issues with libtool and already installed libraries. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4646 221aa14e-8319-0410-a670-987f0aec2ac5 --- Makefile.common | 25 ++++++++------------- gnuradio-core/src/lib/Makefile.am | 3 +-- gnuradio-core/src/lib/swig/Makefile.am | 15 +++++-------- gnuradio-core/src/tests/Makefile.am | 4 ++-- gnuradio-examples/c++/dial_tone/Makefile.am | 9 +++----- gr-atsc/src/lib/Makefile.am | 11 ++++----- gr-audio-alsa/src/Makefile.am | 2 +- gr-audio-jack/src/Makefile.am | 2 +- gr-audio-oss/src/Makefile.am | 2 +- gr-audio-osx/src/Makefile.am | 2 +- gr-audio-portaudio/src/Makefile.am | 2 +- gr-audio-windows/src/Makefile.am | 2 +- gr-comedi/src/Makefile.am | 2 +- gr-ezdop/src/lib/Makefile.am | 9 ++++---- gr-gsm-fr-vocoder/src/lib/Makefile.am | 2 +- gr-pager/src/Makefile.am | 2 +- gr-qtgui/src/lib/Makefile.am | 21 ++++++++++------- gr-radio-astronomy/src/lib/Makefile.am | 6 ++--- gr-trellis/src/lib/Makefile.am | 2 +- gr-usrp/src/Makefile.am | 4 ++-- gr-video-sdl/src/Makefile.am | 2 +- mblock/src/lib/Makefile.am | 4 ++-- pmt/src/lib/Makefile.am | 4 ---- 23 files changed, 61 insertions(+), 76 deletions(-) diff --git a/Makefile.common b/Makefile.common index 11bc65ab..fe026b22 100644 --- a/Makefile.common +++ b/Makefile.common @@ -1,6 +1,6 @@ # -*- Makefile -*- # -# Copyright 2004,2006 Free Software Foundation, Inc. +# Copyright 2004,2006,2007 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -54,31 +54,24 @@ GNURADIO_INCLUDES = -I$(top_srcdir)/gnuradio-core/src/lib/runtime \ -I$(top_builddir)/gnuradio-core/src/lib/swig \ $(FFTW3F_CFLAGS) -# How to link in the top-level omnithreads library +# How to link in the top-level omnithreads library from inside the tree OMNITHREAD_INCLUDES = -I$(top_srcdir)/omnithread -OMNITHREAD_LIBS = -L$(top_builddir)/omnithread -lgromnithread +OMNITHREAD_LA = $(top_builddir)/omnithread/libgromnithread.la -# How to link in GNU Radio core library -# Note: Win32 libtool cannot extract DLL dependencies already stored in -# libgnuradio-core, so the core's dependencies must be repeated here -# This is redundant but harmless on non-Win32 platforms -GNURADIO_CORE_LIBS = $(OMNITHREAD_LIBS) \ - $(FFTW3F_LIBS) \ - -L$(top_builddir)/gnuradio-core/src/lib \ - -lgnuradio-core +# How to link in GNU Radio core library from inside the tree +GNURADIO_CORE_LA = $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la # This is a dependency for many swig operations GNURADIO_I = $(top_srcdir)/gnuradio-core/src/lib/swig/gnuradio.i -# The below used to be set in PKGCONFIG but now point to the current -# build tree. +# How to link in the USRP library from inside the tree USRP_INCLUDES = -I$(top_srcdir)/usrp/host/lib \ -I$(top_srcdir)/usrp/firmware/include +USRP_LA = $(top_builddir)/usrp/host/lib/libusrp.la -USRP_LIBS = -L$(top_builddir)/usrp/host/lib -lusrp - +# How to link the PMT library from inside the tree PMT_INCLUDES = -I$(top_srcdir)/pmt/src/lib -PMT_LIBS = -L$(top_builddir)/pmt/src/lib -lpmt +PMT_LA = $(top_builddir)/pmt/src/lib/libpmt.la # This used to be set in configure.ac but is now defined here for all # Makefiles when this fragment is included. diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am index 70a4de08..171c85ed 100644 --- a/gnuradio-core/src/lib/Makefile.am +++ b/gnuradio-core/src/lib/Makefile.am @@ -36,7 +36,6 @@ libgnuradio_core_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0 libgnuradio_core_qa_la_SOURCES = bug_work_around_6.cc libgnuradio_core_qa_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0 \ $(LIBGNURADIO_CORE_EXTRA_LDFLAGS) - libgnuradio_core_la_LIBADD = \ filter/libfilter.la \ g72x/libccitt.la \ @@ -46,7 +45,7 @@ libgnuradio_core_la_LIBADD = \ missing/libmissing.la \ reed-solomon/librs.la \ runtime/libruntime.la \ - $(OMNITHREAD_LIBS) \ + $(OMNITHREAD_LA) \ $(FFTW3F_LIBS) libgnuradio_core_qa_la_LIBADD = \ diff --git a/gnuradio-core/src/lib/swig/Makefile.am b/gnuradio-core/src/lib/swig/Makefile.am index f0d16151..2a770a3f 100644 --- a/gnuradio-core/src/lib/swig/Makefile.am +++ b/gnuradio-core/src/lib/swig/Makefile.am @@ -118,8 +118,7 @@ _gnuradio_swig_py_runtime_la_SOURCES = \ _gnuradio_swig_py_runtime_la_LIBADD = \ - $(GNURADIO_CORE_LIBS) \ - $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(GNURADIO_CORE_LA) \ $(PYTHON_LDFLAGS) \ -lstdc++ @@ -150,8 +149,7 @@ _gnuradio_swig_py_general_la_SOURCES = \ _gnuradio_swig_py_general_la_LIBADD = \ - $(GNURADIO_CORE_LIBS) \ - $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(GNURADIO_CORE_LA) \ $(PYTHON_LDFLAGS) \ -lstdc++ @@ -182,8 +180,7 @@ _gnuradio_swig_py_gengen_la_SOURCES = \ _gnuradio_swig_py_gengen_la_LIBADD = \ - $(GNURADIO_CORE_LIBS) \ - $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(GNURADIO_CORE_LA) \ $(PYTHON_LDFLAGS) \ -lstdc++ @@ -214,8 +211,7 @@ _gnuradio_swig_py_filter_la_SOURCES = \ _gnuradio_swig_py_filter_la_LIBADD = \ - $(GNURADIO_CORE_LIBS) \ - $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(GNURADIO_CORE_LA) \ $(PYTHON_LDFLAGS) \ -lstdc++ @@ -246,8 +242,7 @@ _gnuradio_swig_py_io_la_SOURCES = \ _gnuradio_swig_py_io_la_LIBADD = \ - $(GNURADIO_CORE_LIBS) \ - $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la \ + $(GNURADIO_CORE_LA) \ $(PYTHON_LDFLAGS) \ -lstdc++ diff --git a/gnuradio-core/src/tests/Makefile.am b/gnuradio-core/src/tests/Makefile.am index f347c187..aed3fea9 100644 --- a/gnuradio-core/src/tests/Makefile.am +++ b/gnuradio-core/src/tests/Makefile.am @@ -33,7 +33,7 @@ TESTS = test_all #Test program to test setting up buffers using gr_test which can be run manually EXTRA_DIST = \ test_buffers.py - + noinst_PROGRAMS = \ benchmark_dotprod \ benchmark_dotprod_fsf \ @@ -50,7 +50,7 @@ noinst_PROGRAMS = \ test_vmcircbuf -LIBGNURADIO = $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la +LIBGNURADIO = $(GNURADIO_CORE_LA) LIBGNURADIOQA = $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core-qa.la $(LIBGNURADIO) benchmark_dotprod_SOURCES = benchmark_dotprod.cc diff --git a/gnuradio-examples/c++/dial_tone/Makefile.am b/gnuradio-examples/c++/dial_tone/Makefile.am index 7bc8c504..9c6f0e5b 100644 --- a/gnuradio-examples/c++/dial_tone/Makefile.am +++ b/gnuradio-examples/c++/dial_tone/Makefile.am @@ -25,12 +25,9 @@ include $(top_srcdir)/Makefile.common INCLUDES=$(STD_DEFINES_AND_INCLUDES) \ -I$(top_srcdir)/gr-audio-alsa/src -GR_AUDIO_ALSA_LIBS=$(top_builddir)/gr-audio-alsa/src/libgr_audio_alsa.la +GR_AUDIO_ALSA_LA=$(top_builddir)/gr-audio-alsa/src/libgr_audio_alsa.la -# For compiling outside the tree, these are the usual -# INCLUDES = -I/usr/local/include -I/usr/local/include/gnuradio -# GNURADIO_CORE_LIBS = -lgnuradio-core -# GR_AUDIO_ALSA_LIBS = -lgr_audio_alsa +# For compiling outside the tree, these will get fished out by pkgconfig noinst_PROGRAMS = dial_tone @@ -42,7 +39,7 @@ dial_tone_SOURCES = \ main.cc dial_tone_LDADD = \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(GR_AUDIO_ALSA_LIBS) MOSTLYCLEANFILES = *~ diff --git a/gr-atsc/src/lib/Makefile.am b/gr-atsc/src/lib/Makefile.am index fe21d5ef..8dcc1c0c 100644 --- a/gr-atsc/src/lib/Makefile.am +++ b/gr-atsc/src/lib/Makefile.am @@ -30,8 +30,6 @@ ourlibdir = $(grpyexecdir) INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) $(CPPUNIT_INCLUDES) -#LIBS += $(GNURADIO_CORE_LIBS) - EXTRA_DIST = \ gen_encoder.py \ qa_atsci_trellis_encoder_t1_input.dat \ @@ -204,8 +202,11 @@ atsci_viterbi_mux.cc: atsci_viterbi_gen$(EXEEXT) test_atsci_SOURCES = test_atsci.cc -test_atsci_LDADD = libatsc-qa.la libatsc.la $(GNURADIO_CORE_LIBS) $(CPPUNIT_LIBS) - +test_atsci_LDADD = \ + libatsc-qa.la \ + libatsc.la \ + $(GNURADIO_CORE_LA) \ + $(CPPUNIT_LIBS) # ------------------------------------------------------------------------ # This is the swig-ish part of the Makefile. @@ -249,7 +250,7 @@ _atsc_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version # link the library against some comon swig runtime code and the # c++ standard library _atsc_la_LIBADD = \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(PYTHON_LDFLAGS) \ libatsc.la \ -lstdc++ diff --git a/gr-audio-alsa/src/Makefile.am b/gr-audio-alsa/src/Makefile.am index f9b69c78..52b2a2d5 100644 --- a/gr-audio-alsa/src/Makefile.am +++ b/gr-audio-alsa/src/Makefile.am @@ -78,7 +78,7 @@ swiginclude_HEADERS = \ _audio_alsa_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(ALSA_LIBS) \ libgr_audio_alsa.la \ -lstdc++ diff --git a/gr-audio-jack/src/Makefile.am b/gr-audio-jack/src/Makefile.am index 69078870..bed67ac3 100644 --- a/gr-audio-jack/src/Makefile.am +++ b/gr-audio-jack/src/Makefile.am @@ -76,7 +76,7 @@ swiginclude_HEADERS = \ _audio_jack_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(JACK_LIBS) \ -lstdc++ diff --git a/gr-audio-oss/src/Makefile.am b/gr-audio-oss/src/Makefile.am index 2fc0bae2..aebad3f4 100644 --- a/gr-audio-oss/src/Makefile.am +++ b/gr-audio-oss/src/Makefile.am @@ -69,7 +69,7 @@ swiginclude_HEADERS = \ _audio_oss_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(OSS_LIBS) \ -lstdc++ diff --git a/gr-audio-osx/src/Makefile.am b/gr-audio-osx/src/Makefile.am index 750dd973..de06c507 100644 --- a/gr-audio-osx/src/Makefile.am +++ b/gr-audio-osx/src/Makefile.am @@ -73,7 +73,7 @@ swiginclude_HEADERS = \ _audio_osx_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ -lstdc++ _audio_osx_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version -framework AudioUnit -framework CoreAudio -framework AudioToolbox diff --git a/gr-audio-portaudio/src/Makefile.am b/gr-audio-portaudio/src/Makefile.am index 63ba7d65..6a7d2d8f 100644 --- a/gr-audio-portaudio/src/Makefile.am +++ b/gr-audio-portaudio/src/Makefile.am @@ -75,7 +75,7 @@ swiginclude_HEADERS = \ _audio_portaudio_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(PORTAUDIO_LIBS) \ -lstdc++ diff --git a/gr-audio-windows/src/Makefile.am b/gr-audio-windows/src/Makefile.am index 2de14d5d..36deea36 100644 --- a/gr-audio-windows/src/Makefile.am +++ b/gr-audio-windows/src/Makefile.am @@ -69,7 +69,7 @@ swiginclude_HEADERS = \ _audio_windows_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(WINAUDIO_LIBS) \ -lstdc++ diff --git a/gr-comedi/src/Makefile.am b/gr-comedi/src/Makefile.am index b0a537ce..00d00867 100644 --- a/gr-comedi/src/Makefile.am +++ b/gr-comedi/src/Makefile.am @@ -75,7 +75,7 @@ swiginclude_HEADERS = \ _comedi_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(COMEDI_LIBS) \ -lstdc++ diff --git a/gr-ezdop/src/lib/Makefile.am b/gr-ezdop/src/lib/Makefile.am index c0cdacca..51d7e56c 100644 --- a/gr-ezdop/src/lib/Makefile.am +++ b/gr-ezdop/src/lib/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright 2004,2005,2006 Free Software Foundation, Inc. +# Copyright 2004,2005,2006,2007 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -32,7 +32,7 @@ EZDOP_INCLUDES = \ -I$(top_srcdir)/ezdop/src/firmware \ -I$(top_srcdir)/ezdop/src/host/ezdop -EZDOP_LIBS = -L$(top_builddir)/ezdop/src/host/ezdop/ -lezdop +EZDOP_LA = $(top_builddir)/ezdop/src/host/ezdop/libezdop.la INCLUDES = \ $(STD_DEFINES_AND_INCLUDES) \ @@ -78,8 +78,8 @@ _ezdop_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version # c++ standard library _ezdop_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ - $(EZDOP_LIBS) \ + $(GNURADIO_CORE_LA) \ + $(EZDOP_LA) \ -lstdc++ ezdop.cc ezdop.py: $(ALL_IFILES) @@ -89,7 +89,6 @@ ezdop.cc ezdop.py: $(ALL_IFILES) grinclude_HEADERS = \ ezdop_source_c.h - # These swig headers get installed in ${prefix}/include/gnuradio/swig swiginclude_HEADERS = \ $(LOCAL_IFILES) diff --git a/gr-gsm-fr-vocoder/src/lib/Makefile.am b/gr-gsm-fr-vocoder/src/lib/Makefile.am index 90159dc9..82078779 100644 --- a/gr-gsm-fr-vocoder/src/lib/Makefile.am +++ b/gr-gsm-fr-vocoder/src/lib/Makefile.am @@ -76,7 +76,7 @@ _gsm_full_rate_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version _gsm_full_rate_la_LIBADD = \ gsm/libgsm.la \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ -lstdc++ gsm_full_rate.cc gsm_full_rate.py: gsm_full_rate.i $(ALL_IFILES) diff --git a/gr-pager/src/Makefile.am b/gr-pager/src/Makefile.am index b82e34dc..b818be0e 100644 --- a/gr-pager/src/Makefile.am +++ b/gr-pager/src/Makefile.am @@ -93,7 +93,7 @@ _pager_swig_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version # link the library against the c++ standard library _pager_swig_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ -lstdc++ pager_swig.cc pager_swig.py: $(ALL_IFILES) diff --git a/gr-qtgui/src/lib/Makefile.am b/gr-qtgui/src/lib/Makefile.am index 2f98dd5d..8adcd591 100644 --- a/gr-qtgui/src/lib/Makefile.am +++ b/gr-qtgui/src/lib/Makefile.am @@ -43,18 +43,23 @@ include_HEADERS = noinst_PROGRAMS = \ qt_examples -qt_examples_MOC = \ +BUILT_SOURCES = \ moc_fftdisplay.cc +nodist_qt_examples_SOURCES = \ + $(BUILT_SOURCES) + qt_examples_SOURCES = \ fftdisplay.cc \ - qt_examples.cc \ - $(qt_examples_MOC) + qt_examples.cc -qt_examples_LDADD = $(QWT_LIBS) $(QT_LIBS) -qt_examples_LDFLAGS = $(QT_CFLAGS) $(QWT_CFLAGS) $(GNURADIO_CORE_LIBS) +qt_examples_LDADD = $(QWT_LIBS) \ + $(QT_LIBS) \ + $(GNURADIO_CORE_LA) -MOSTLYCLEANFILES = \ - *~ -CLEANFILES = $(filter moc_%.cc, $(qt_examples_SOURCES)) +qt_examples_LDFLAGS = $(QT_CFLAGS) \ + $(QWT_CFLAGS) + +MOSTLYCLEANFILES = \ + *~ $(BUILT_SOURCES) diff --git a/gr-radio-astronomy/src/lib/Makefile.am b/gr-radio-astronomy/src/lib/Makefile.am index 4f6da318..4165e760 100644 --- a/gr-radio-astronomy/src/lib/Makefile.am +++ b/gr-radio-astronomy/src/lib/Makefile.am @@ -65,9 +65,9 @@ _ra_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version # link the library against some comon swig runtime code and the # c++ standard library -_ra_la_LIBADD = \ - $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ +_ra_la_LIBADD = \ + $(PYTHON_LDFLAGS) \ + $(GNURADIO_CORE_LA) \ -lstdc++ ra.cc ra.py: $(ALL_IFILES) diff --git a/gr-trellis/src/lib/Makefile.am b/gr-trellis/src/lib/Makefile.am index ef27bf58..bfb573cf 100644 --- a/gr-trellis/src/lib/Makefile.am +++ b/gr-trellis/src/lib/Makefile.am @@ -110,7 +110,7 @@ _trellis_la_LDFLAGS = $(NO_UNDEFINED) -module -avoid-version # c++ standard library _trellis_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ -lstdc++ trellis.cc trellis.py: $(ALL_IFILES) $(grinclude_HEADERS) diff --git a/gr-usrp/src/Makefile.am b/gr-usrp/src/Makefile.am index 8645ca52..86c9853a 100644 --- a/gr-usrp/src/Makefile.am +++ b/gr-usrp/src/Makefile.am @@ -94,8 +94,8 @@ _usrp1_la_SOURCES = \ _usrp1_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ - $(USRP_LIBS) \ + $(GNURADIO_CORE_LA) \ + $(USRP_LA) \ -lstdc++ diff --git a/gr-video-sdl/src/Makefile.am b/gr-video-sdl/src/Makefile.am index 9df1375c..cf760993 100644 --- a/gr-video-sdl/src/Makefile.am +++ b/gr-video-sdl/src/Makefile.am @@ -69,7 +69,7 @@ swiginclude_HEADERS = \ _video_sdl_la_LIBADD = \ $(PYTHON_LDFLAGS) \ - $(GNURADIO_CORE_LIBS) \ + $(GNURADIO_CORE_LA) \ $(SDL_LIBS) \ -lstdc++ diff --git a/mblock/src/lib/Makefile.am b/mblock/src/lib/Makefile.am index e1922fcd..8adaf14e 100644 --- a/mblock/src/lib/Makefile.am +++ b/mblock/src/lib/Makefile.am @@ -54,8 +54,8 @@ libmblock_la_LDFLAGS = $(NO_UNDEFINED) -avoid-version # link the library against the c++ standard library libmblock_la_LIBADD = \ - $(OMNITHREAD_LIBS) \ - $(PMT_LIBS) \ + $(OMNITHREAD_LA) \ + $(PMT_LA) \ -lstdc++ include_HEADERS = \ diff --git a/pmt/src/lib/Makefile.am b/pmt/src/lib/Makefile.am index aa2cc514..a738a169 100644 --- a/pmt/src/lib/Makefile.am +++ b/pmt/src/lib/Makefile.am @@ -89,12 +89,8 @@ libpmt_qa_la_SOURCES = \ # magic flags libpmt_qa_la_LDFLAGS = $(NO_UNDEFINED) -avoid-version -# link the library against the c++ standard library -# Note: Win32 libtool doesn't pull dependencies from the .la file -# correctly, so we must add $(PMT_LIBS) below libpmt_qa_la_LIBADD = \ libpmt.la \ - $(PMT_LIBS) \ $(CPPUNIT_LIBS) \ -lstdc++ -- 2.30.2