Commit 39db76ab authored by Sam Hocevar's avatar Sam Hocevar

  * Fixed build process when no plugins or no builtins were chosen.
  * Makefile changes to get around MacOS X's brain-damaged gcc.
  * FreeBSD configure and Makefile patches, courtesy of Espen
    Skoglund <esk@ira.uka.de>.
parent b2e1b231
......@@ -4,7 +4,17 @@
HEAD
* MacOS X icon is now correctly added to the app
* Fixed build process when no plugins or no builtins were chosen.
* Makefile changes to get around MacOS X's brain-damaged gcc.
* FreeBSD configure and Makefile patches, courtesy of Espen
Skoglund <esk@ira.uka.de>.
* Cosmetic change in css decryption.
* Added basic angle support.
* Corrected some bugs in gnome interface: language menu are now
synchronized and menus have less chances to change when opened.
* Network channel change is now available again.
* Fixed optional PES size bug, courtesy of Steve Brown <sbrown@cortland.com>.
* MacOS X icon is now correctly added to the app.
* Fixed a compilation issue in the DVDioctl driver.
* Added a call to ranlib after a built-in module compilation.
......
......@@ -144,8 +144,12 @@ CPP_DEP := $(CPP_OBJ:%.o=.dep/%.dpp)
#
# Translate plugin names
#
PLUGIN_OBJ := $(shell for i in : $(PLUGINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@lib/\1.so@' -e 's@^ .*@@' ; done)
BUILTIN_OBJ := $(shell for i in : $(BUILTINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@lib/\1.a@' -e 's@^ .*@@' ; done)
ifneq (,$(PLUGINS))
PLUGIN_OBJ := $(shell for i in $(PLUGINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@lib/\1.so@' -e 's@^ .*@@' ; done)
endif
ifneq (,$(BUILTINS))
BUILTIN_OBJ := $(shell for i in $(BUILTINS) ; do echo " "$(PLUGINS_TARGETS)" " | sed -e 's@.*/\('$$i'\) .*@lib/\1.a@' -e 's@^ .*@@' ; done)
endif
# All symbols must be exported
export
......@@ -166,7 +170,7 @@ clean:
rm -f $(C_OBJ) $(CPP_OBJ)
rm -f src/*/*.o extras/*/*.o
rm -f lib/*.so lib/*.a vlc gnome-vlc gvlc kvlc qvlc
rm -rf vlc.app
rm -Rf vlc.app
distclean: clean
rm -f **/*.o **/*~ *.log
......@@ -180,10 +184,13 @@ distclean: clean
install:
mkdir -p $(DESTDIR)$(bindir)
$(INSTALL) vlc $(DESTDIR)$(bindir)
# ugly
for alias in "" ${ALIASES} ; do if test $$alias ; then rm -f $(DESTDIR)$(bindir)/$$alias && ln -s vlc $(DESTDIR)$(bindir)/$$alias ; fi ; done
ifneq (,$(ALIASES))
for alias in $(ALIASES) ; do if test $$alias ; then rm -f $(DESTDIR)$(bindir)/$$alias && ln -s vlc $(DESTDIR)$(bindir)/$$alias ; fi ; done
endif
mkdir -p $(DESTDIR)$(libdir)/videolan/vlc
ifneq (,$(PLUGINS))
$(INSTALL) -m 644 $(PLUGINS:%=lib/%.so) $(DESTDIR)$(libdir)/videolan/vlc
endif
mkdir -p $(DESTDIR)$(datadir)/videolan
$(INSTALL) -m 644 share/*.psf $(DESTDIR)$(datadir)/videolan
$(INSTALL) -m 644 share/*.png $(DESTDIR)$(datadir)/videolan
......@@ -255,7 +262,7 @@ snapshot: Makefile.opts
.PHONY: vlc.app
vlc.app:
ifneq (,$(findstring darwin,$(SYS)))
rm -rf vlc.app
rm -Rf vlc.app
mkdir -p vlc.app/Contents/Resources
mkdir -p vlc.app/Contents/MacOS/lib
mkdir -p vlc.app/Contents/MacOS/share
......@@ -263,7 +270,9 @@ ifneq (,$(findstring darwin,$(SYS)))
$(INSTALL) -m 644 extras/MacOSX_app/Contents/PkgInfo vlc.app/Contents/
$(INSTALL) vlc vlc.app/Contents/MacOS/
$(INSTALL) share/vlc.icns vlc.app/Contents/Resources/
ifneq (,$(PLUGINS))
$(INSTALL) $(PLUGINS:%=lib/%.so) vlc.app/Contents/MacOS/lib
endif
$(INSTALL) -m 644 share/*.psf vlc.app/Contents/MacOS/share
endif
......@@ -287,17 +296,22 @@ $(CPP_DEP): %.dpp: FORCE
$(H_OBJ): Makefile.opts Makefile.dep Makefile
rm -f $@ && cp $@.in $@
ifneq (,$(BUILTINS))
for i in $(BUILTINS) ; do \
echo "int module_"$$i"_InitModule (module_t *);" >> $@ ; \
echo "int module_"$$i"_ActivateModule (module_t *);" >> $@ ; \
echo "int module_"$$i"_DeactivateModule (module_t *);" >> $@ ; \
echo "int module_"$$i"_InitModule( module_t* );" >> $@ ; \
echo "int module_"$$i"_ActivateModule( module_t* );" >> $@ ; \
echo "int module_"$$i"_DeactivateModule( module_t* );" >> $@ ; \
done
echo "#define ALLOCATE_ALL_BUILTINS() \\" >> $@ ;
echo "{ \\" >> $@ ;
endif
echo "" >> $@ ;
printf "#define ALLOCATE_ALL_BUILTINS() do { " >> $@ ;
ifneq (,$(BUILTINS))
for i in $(BUILTINS) ; do \
echo " ALLOCATE_BUILTIN("$$i"); \\" >> $@ ; \
printf "ALLOCATE_BUILTIN("$$i"); " >> $@ ; \
done
echo "};" >> $@ ;
endif
echo "} while( 0 );" >> $@ ;
echo "" >> $@ ;
$(C_OBJ): %.o: Makefile.opts Makefile.dep Makefile
$(C_OBJ): %.o: .dep/%.d
......
......@@ -7,22 +7,36 @@
# Configuration
###############################################################################
#
# Compilation options
#
DEBUG = @DEBUG@
STATS = @STATS@
OPTIMS = @OPTIMS@
GETOPT = @GETOPT@
#
# Plugins to build
# WARNING: if you do not have a dynamic loader on your platform, remove
# the plugins in this line and put them as built-ins, otherwise your
# application won't be able to load them.
#
PLUGINS := @PLUGINS@
#
# Built-in modules to build
# WARNING: do NOT put gtk and gnome together in this rule.
#
BUILTINS := @BUILTINS@
#
# Additional build options
#
SYS = @SYS@
ALIASES =@ALIASES@
INSTALL = @INSTALL@
ARCH = @ARCH@
#
# Compilation options
#
DEBUG = @DEBUG@
STATS = @STATS@
OPTIMS = @OPTIMS@
GETOPT = @GETOPT@
#
# Build environment
#
......@@ -59,6 +73,12 @@ LIB_X11 = @LIB_X11@
LIB_XVIDEO = @LIB_XVIDEO@
LIB_YUV = @LIB_YUV@
#
# CFLAGS for special cases
#
CFLAGS_GTK = @CFLAGS_GTK@
CFLAGS_X11 = @CFLAGS_X11@
###############################################################################
# Configuration pre-processing
###############################################################################
......@@ -115,11 +135,14 @@ LIB += @LIB@ -L/usr/local/lib
#
# Libraries needed by built-in modules
#
ifneq (,$(BUILTINS))
LIB += $(shell for i in ${BUILTINS} ; do echo $$i | tr '[a-z]' '[A-Z]' | sed -e 's/.*/$$LIB_&/' ; done)
endif
#
# C compiler flags: mainstream compilation
#
DEFINE += @DEFINE@
CFLAGS += $(DEFINE) $(INCLUDE)
CFLAGS += -Wall -Winline
CFLAGS += -D_REENTRANT
......
......@@ -25,7 +25,7 @@ Description: Win32 port
Status: Todo
Task: 0x5c
Difficulty: Normal
Difficulty: Medium
Urgency: Wishlist
Description: Infrared support
Write a plugin which listens to the infrared port and sends appropriate
......@@ -59,7 +59,7 @@ Description: Cope with vls/vlc clock jitter
Status: Todo
Task: 0x58
Difficulty: Normal
Difficulty: Medium
Urgency: Critical
Description: Language and subtitles selection in network input
The vls will probably have to be modified as well.
......@@ -67,7 +67,7 @@ Status: Todo
Task: 0x57
Difficulty: Guru
Urgency: Low
Urgency: Normal
Description: Full DVD navigation
Once the core DVD navigation features are ready (see item 0x52), port the
interface and video output modules so that they can handle it.
......@@ -98,7 +98,7 @@ Description: Hardware AC3 decoding
Status: Todo
Task: 0x53
Difficulty: Normal
Difficulty: Medium
Urgency: Critical
Description: Fix AC3 decoder
The AC3 decoder still has a few quality issues; fix them, and try to add
......@@ -107,7 +107,7 @@ Status: Todo
Task: 0x52
Difficulty: Guru
Urgency: Low
Urgency: Normal
Description: DVD navigation core features
We need an interpreter for the DVD virtual machine to make it easier to
browse DVDs later.
......@@ -165,7 +165,7 @@ Status: Todo
Task: 0x4b
Difficulty: Guru
Urgency: Low
Urgency: Normal
Description: Write AVI input plugin
.avi files can use MPEG codec, if this is the case it shouldn't be
hard to read those files -> Meuuh
......@@ -188,7 +188,7 @@ Description: Write a new buffer allocator
Status: Todo
Task: 0x48
Difficulty: Medium
Difficulty: Hard
Urgency: Critical
Description: Fix audio synchro
With some audio plugins, the audio stream is late because of buffer
......
This diff is collapsed.
......@@ -11,12 +11,8 @@ AC_SUBST(VLC_CODENAME)
dnl Check for tools
AC_PROG_MAKE_SET
if test -z "$CC"; then
AC_PROG_CC
fi
if test -z "$CPP"; then
AC_PROG_CPP
fi
AC_PROG_CC
AC_PROG_CPP
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL
......@@ -46,7 +42,15 @@ AC_FUNC_MMAP
AC_TYPE_SIGNAL
AC_CHECK_LIB(dl,dlopen,LIB=${LIB}" -ldl")
AC_CHECK_LIB(m,pow,LIB_YUV=${LIB_YUV}" -lm")
AC_CHECK_LIB(pthread,pthread_create,LIB=${LIB}" -lpthread")
AC_MSG_CHECKING(for old style FreeBSD -pthread flag)
AC_EGREP_CPP(yes,
[#if defined(__FreeBSD_cc_version) && __FreeBSD_cc_version <= 500001
yes
#endif
], AC_MSG_RESULT(yes)
DEFINE="${DEFINE} -D_THREAD_SAFE" LIB="${LIB} -pthread",
AC_MSG_RESULT(no)
AC_CHECK_LIB(pthread,pthread_create,LIB=${LIB}" -lpthread"))
AC_CHECK_LIB(threads,thread_create,LIB=${LIB}" -lthreads")
CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
......@@ -226,8 +230,11 @@ dnl
AC_ARG_ENABLE(esd,
[ --enable-esd Esound library support (default disabled)],
[if test x$enable_esd = xyes; then
PLUGINS=${PLUGINS}"esd "
LIB_ESD="`esd-config --libs`"
AC_PATH_PROG(ESD_CONFIG, esd-config, no)
if test x${ESD_CONFIG} != xno; then
PLUGINS=${PLUGINS}"esd "
LIB_ESD="`${ESD_CONFIG} --libs`"
fi
fi])
dnl
......@@ -366,10 +373,12 @@ dnl
AC_ARG_ENABLE(gtk,
[ --disable-gtk Gtk+ support (default enabled)])
if test x$enable_gtk != xno; then
if which gtk-config; then
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
if test x${GTK_CONFIG} != xno; then
PLUGINS=${PLUGINS}"gtk "
ALIASES=${ALIASES}"gvlc "
LIB_GTK="`gtk-config --libs gtk | sed 's,-rdynamic,,'`"
CFLAGS_GTK="`${GTK_CONFIG} --cflags gtk`"
LIB_GTK="`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`"
fi
fi
......@@ -379,10 +388,20 @@ dnl
AC_ARG_ENABLE(x11,
[ --disable-x11 X11 support (default enabled)])
if test x$enable_x11 != xno; then
if test x$x_includes = xNONE; then
x_includes=/usr/X11R6/include
fi
if test x$x_libraries = xNONE; then
x_libraries=/usr/X11R6/lib
fi
saved_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$x_includes"
AC_CHECK_HEADERS(X11/Xlib.h, [
PLUGINS=${PLUGINS}"x11 "
LIB_X11="-L/usr/X11R6/lib -lX11 -lXext"
])
LIB_X11="-L$x_libraries -lX11 -lXext"
CFLAGS_X11="-I$x_includes"
]
CPPFLAGS=$saved_CPPFLAGS)
fi
dnl
......@@ -416,6 +435,7 @@ AC_SUBST(ARCH)
AC_SUBST(PLUGINS)
AC_SUBST(BUILTINS)
AC_SUBST(ALIASES)
AC_SUBST(DEFINE)
AC_SUBST(INCLUDE)
AC_SUBST(DEBUG)
AC_SUBST(STATS)
......@@ -443,6 +463,9 @@ AC_SUBST(LIB_X11)
AC_SUBST(LIB_XVIDEO)
AC_SUBST(LIB_YUV)
AC_SUBST(CFLAGS_GTK)
AC_SUBST(CFLAGS_X11)
AC_OUTPUT([Makefile.opts include/config.h])
echo "
......
......@@ -26,3 +26,4 @@
module_ ## NAME ## _DeactivateModule );
/* Add stuff here */
......@@ -7,32 +7,30 @@
# Objects
#
PLUGIN_GTK = gtk.o intf_gtk.o gtk_callbacks.o gtk_interface.o gtk_support.o gtk_playlist.o
BUILTIN_GTK = $(PLUGIN_GTK:%.o=BUILTIN_%.o)
PLUGIN_C = gtk.o intf_gtk.o gtk_callbacks.o gtk_interface.o gtk_support.o gtk_playlist.o
BUILTIN_C = $(PLUGIN_C:%.o=BUILTIN_%.o)
ALL_OBJ = $(PLUGIN_GTK) $(BUILTIN_GTK)
ALL_OBJ = $(PLUGIN_C) $(BUILTIN_C)
#
# Virtual targets
# Special plugin modifications
#
include ../../Makefile.modules
CFLAGS += $(CFLAGS_GTK)
$(PLUGIN_GTK): %.o: .dep/%.d
$(PLUGIN_GTK): %.o: %.c
$(CC) $(CFLAGS) $(PCFLAGS) `gtk-config --cflags gtk` -c -o $@ $<
#
# Virtual targets
#
$(BUILTIN_GTK): BUILTIN_%.o: .dep/%.d
$(BUILTIN_GTK): BUILTIN_%.o: %.c
$(CC) $(CFLAGS) -DBUILTIN `gtk-config --cflags gtk` -c -o $@ $<
include ../../Makefile.modules
#
# Real targets
#
../../lib/gtk.so: $(PLUGIN_GTK)
../../lib/gtk.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GTK)
../../lib/gtk.a: $(BUILTIN_GTK)
../../lib/gtk.a: $(BUILTIN_C)
ar r $@ $^
......@@ -17,6 +17,12 @@ BUILTIN_C = $(BUILTIN_X11) $(BUILTIN_XVIDEO)
ALL_OBJ = $(PLUGIN_C) $(BUILTIN_C)
#
# Special plugin modifications
#
CFLAGS += $(CFLAGS_X11)
#
# Virtual targets
#
......
......@@ -2,7 +2,7 @@
* modules.c : Built-in and plugin modules management functions
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: modules.c,v 1.25 2001/04/16 07:40:11 sam Exp $
* $Id: modules.c,v 1.26 2001/04/20 11:06:48 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Ethan C. Baldridge <BaldridgeE@cadmus.com>
......@@ -59,8 +59,10 @@
#include "intf_msg.h"
#include "modules.h"
#include "modules_builtin.h"
#ifdef HAVE_DYNAMIC_PLUGINS
#include "modules_core.h"
#endif
#include "modules_builtin.h"
/* Local prototypes */
#ifdef HAVE_DYNAMIC_PLUGINS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment