- Add FreeBSD detection in build.xml and build FreeBSD neomedia.jar;

- Add FreeBSD in OSUtil;
- Add JNI libraries for FreeBSD 32-bit and 64-bit (jdic, jdic_misc, tray, ffmpeg
, jportaudio and screencapture).
cusax-fix
Sebastien Vincent 16 years ago
parent 007a5c657d
commit 11d2ac97a4

@ -12,6 +12,7 @@
<property name="bundles.dest.win" value="${bundles.dest}/os-specific/windows"/>
<property name="bundles.dest.lin" value="${bundles.dest}/os-specific/linux"/>
<property name="bundles.dest.sol" value="${bundles.dest}/os-specific/solaris"/>
<property name="bundles.dest.freebsd" value="${bundles.dest}/os-specific/freebsd"/>
<property name="doc" value="doc"/>
<property name="java.doc" value="${doc}/api"/>
<property name="lib" value="${sc.basedir}/lib"/>
@ -23,6 +24,8 @@
<property name="lib.mac.noinst" value="${lib}/os-specific/mac/installer-exclude"/>
<property name="lib.sol" value="${lib}/os-specific/solaris"/>
<property name="lib.sol.noinst" value="${lib}/os-specific/solaris/installer-exclude"/>
<property name="lib.freebsd" value="${lib}/os-specific/freebsd"/>
<property name="lib.freebsd.noinst" value="${lib}/os-specific/freebsd/installer-exclude"/>
<property name="lib.noinst" value="${lib}/installer-exclude"/>
<property name="native.libs" value="${lib}/native"/>
<property name="src" value="${sc.basedir}/src"/>
@ -148,6 +151,38 @@
<isset property="is.running.macos"/>
</condition>
<!-- FreeBSD specific properties -->
<condition property="is.running.freebsd" value="${os.name}">
<equals arg1="${os.name}" arg2="freebsd" casesensitive="false" trim="true"/>
</condition>
<!-- make sure we use the freebsd-64 natives if this is a 64 bit system-->
<condition property="ld.library.path"
value="${lib}/native/freebsd-64:${system.LD_LIBRARY_PATH}">
<and>
<isset property="is.running.freebsd"/>
<os arch="amd64" />
</and>
</condition>
<!-- otherwise we go for the normal freebsd natives (i.e. os.arch==i386)-->
<condition property="ld.library.path"
value="${lib}/native/freebsd:${system.LD_LIBRARY_PATH}">
<isset property="is.running.freebsd"/>
</condition>
<condition property="os.lib.home" value="${lib}/os-specific/freebsd">
<isset property="is.running.freebsd"/>
</condition>
<condition property="ld.library.path"
value="${lib}/native/freebsd:${system.LD_LIBRARY_PATH}">
<isset property="is.running.freebsd"/>
</condition>
<condition property="bundles.dest.os" value="${bundles.dest.freebsd}">
<isset property="is.running.freebsd"/>
</condition>
<!-- set the os.lib.home here in case it was not set before -->
<property name="os.lib.home" value="${lib}"/>
@ -436,6 +471,7 @@
<mkdir dir="${bundles.dest.mac}"/>
<mkdir dir="${bundles.dest.lin}"/>
<mkdir dir="${bundles.dest.win}"/>
<mkdir dir="${bundles.dest.freebsd}"/>
<mkdir dir="${test.reports.dir}"/>
<mkdir dir="${test.reports.dir}/html"/>
@ -1127,6 +1163,26 @@
<zipfileset src="${lib.noinst}/jspeex.jar" prefix=""/>
<zipfileset src="${lib.noinst}/lti-civil-no_s_w_t.jar" prefix=""/>
</jar>
<!-- Creates a bundle containing the impl of the neomedia package and
the standard jmf implementation.-->
<jar
compress="false" destfile="${bundles.dest.freebsd}/neomedia.jar"
manifest="${src}/net/java/sip/communicator/impl/neomedia/neomedia.manifest.mf">
<zipfileset dir="${dest}/net/java/sip/communicator/service/neomedia"
prefix="net/java/sip/communicator/service/neomedia"/>
<zipfileset dir="${dest}/net/java/sip/communicator/impl/neomedia"
prefix="net/java/sip/communicator/impl/neomedia"/>
<zipfileset dir="${dest}/net/java/sip/communicator/service/audionotifier"
prefix="net/java/sip/communicator/service/audionotifier"/>
<zipfileset dir="${resources}/images/impl/media"
prefix="resources/images/impl/media"/>
<zipfileset src="${lib.noinst}/jmf.jar" prefix=""/>
<zipfileset src="${lib.noinst}/fmj.jar" prefix=""/>
<zipfileset src="${lib.noinst}/jspeex.jar" prefix=""/>
<zipfileset src="${lib.noinst}/lti-civil-no_s_w_t.jar" prefix=""/>
</jar>
</target>
<!--BUNDLE-MEDIA-SLICK-->

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -28,6 +28,13 @@ LDFLAGS=-fPIC -shared
#TARGET=../../../lib/native/linux/libffmpeg.so
TARGET=../../../lib/native/linux-64/libffmpeg.so
# FreeBSD configuration
#CPPFLAGS+=-I$(JAVA_HOME)/include/freebsd
#LDFLAGS=-fPIC -shared
# Choose between 32-bit or 64-bit
#TARGET=../../../lib/native/freebsd/libffmpeg.so
#TARGET=../../../lib/native/freebsd-64/libffmpeg.so
LIBS=-L$(FFMPEG_HOME)/libavformat -L$(FFMPEG_HOME)/libavcodec -L$(FFMPEG_HOME)/libavutil \
-L$(FFMPEG_HOME)/libswscale -L$(X264_HOME) \
-lavformat -lavcodec -lavutil -lswscale -lx264

@ -10,7 +10,7 @@ make
./configure --disable-pthread --disable-avs-input --disable-asm
make
- Linux, Mac OS X
- Linux, Mac OS X, FreeBSD
./configure --enable-pic
make
@ -57,7 +57,7 @@ Then run:
mingw32-make
Note: mingw64-make failed to work (segmentation fault) that's why we fallback to mingw32-make.
- Linux
- Linux, FreeBSD
./configure \
--disable-mmx --enable-pic \
@ -92,7 +92,7 @@ Open Makefile, uncomment the section for your OS and comment out the others.
Be careful to correctly set X264_HOME, FFMPEG_HOME and JAVA_HOME variables.
Then run:
make
make (gmake on FreeBSD)
Note:
If compilation errors related to "relocation" occured, you

@ -1,9 +1,9 @@
1. portaudio
- Linux
$./configure --enable-static --disable-shared --with-jack=no && make
- Linux/FreeBSD
$./configure --enable-static --disable-shared --with-jack=no && make (gmake on FreeBSD)
- Linux amd64
./configure --enable-static --disable-shared --with-pic --with-jack=no && make
- Linux/FreeBSD amd64
./configure --enable-static --disable-shared --with-pic --with-jack=no && make (gmake on FreeBSD)
- Mac OS X
$./configure --enable-static --disable-shared && make
@ -30,11 +30,11 @@
- Windows
$./configure --enable-static --disable-shared && make
- Linux
$./configure --enable-static --disable-shared && make
- Linux/FreeBSD
$./configure --enable-static --disable-shared && make (gmake on FreeBSD)
- Linux amd64
$./configure --enable-static --disable-shared --with-pic && make
- Linux/FreeBSD amd64
$./configure --enable-static --disable-shared --with-pic && make (gmake on FreeBSD)
- Macosx
$export CC="gcc -arch i386 -arch ppc -arch x86_64 -mmacosx-version-min=10.4"
@ -43,13 +43,13 @@
$./configure --enable-static --disable-shared && make
3. jportaudio
- Linux
$ make
- Linux/FreeBSD
$ make (gmake on FreeBSD)
- Linux amd64
- Linux/FreeBSD amd64
LDFLAGS=-shared -fPIC
LIBS=-L$(SPEEX_HOME)/libspeex/.libs -L$(PORTAUDIO_HOME)/lib/.libs -Wl,-Bstatic -lportaudio -lspeexdsp -Wl,-Bdynamic -lasound -lm -lpthread
$ make
$ make (gmake on FreeBSD)
- Mac OS X
CC=gcc -arch i386 -arch ppc -arch x86_64 -mmacosx-version-min=10.3

@ -16,6 +16,10 @@
//#include <sys/time.h> /* used on Windows */
#include <time.h>
#ifndef _WIN32
#include <sys/select.h> /* for struct timeval */
#endif
typedef struct
{
long time;

@ -74,7 +74,7 @@ public BufferedImage captureScreen(int x, int y, int width, int height)
BufferedImage img = null;
Rectangle rect = null;
if(OSUtils.IS_LINUX)
if(OSUtils.IS_LINUX || OSUtils.IS_FREEBSD)
{
return UnixScreenCapture.captureScreen(x, y, width, height);
}

@ -51,6 +51,9 @@ public class OSUtils
/** <tt>true</tt> if OS is Windows Vista. */
public static final boolean IS_WINDOWS_VISTA;
/** <tt>true</tt> if OS is FreeBSD. */
public static final boolean IS_FREEBSD;
static
{
// OS
@ -62,6 +65,7 @@ public class OSUtils
IS_MAC = false;
IS_WINDOWS = false;
IS_WINDOWS_VISTA = false;
IS_FREEBSD = false;
}
else if (osName.startsWith("Linux"))
{
@ -69,6 +73,7 @@ else if (osName.startsWith("Linux"))
IS_MAC = false;
IS_WINDOWS = false;
IS_WINDOWS_VISTA = false;
IS_FREEBSD = false;
}
else if (osName.startsWith("Mac"))
{
@ -76,6 +81,7 @@ else if (osName.startsWith("Mac"))
IS_MAC = true;
IS_WINDOWS = false;
IS_WINDOWS_VISTA = false;
IS_FREEBSD = false;
}
else if (osName.startsWith("Windows"))
{
@ -83,6 +89,15 @@ else if (osName.startsWith("Windows"))
IS_MAC = false;
IS_WINDOWS = true;
IS_WINDOWS_VISTA = (osName.indexOf("Vista") != -1);
IS_FREEBSD = false;
}
else if (osName.startsWith("FreeBSD"))
{
IS_LINUX = false;
IS_MAC = false;
IS_WINDOWS = false;
IS_WINDOWS_VISTA = (osName.indexOf("Vista") != -1);
IS_FREEBSD = true;
}
else
{
@ -90,6 +105,7 @@ else if (osName.startsWith("Windows"))
IS_MAC = false;
IS_WINDOWS = false;
IS_WINDOWS_VISTA = false;
IS_FREEBSD = false;
}
// arch i.e. x86, amd64

Loading…
Cancel
Save