next up previous contents
Next: Objektaktivierung für den Tie-Ansatz, Up: B Implementierungsbeispiele Previous: Funktion get_sysUptime.c, Kapitel 6.3.4

6.3.4

Shellskript zur Erstellung von shared libraries für AIX, Kapitel

#!/bin/sh
#
# Shellskript create_lib_aix:
#
# 1. Parameter: Name der C-Datei mit JNI-Funktionen
# 2. Parameter: Name der zu erstellenden Bibliothek 
#
# Beispiel: create_lib_aix UNIXSystemImpl UNIXSystem
# 
# Ergebnis: libUNIXSystem.AIX.so
#
# Die .o-Dateien der einzubindenden Agentenfunktionen muessen sich im 
# gleichen Verzeichnis wie die zu kompilierende C-Datei befinden
#
# Vergleiche: /usr/lpp/Java/jni_example/c/Makefile
#
xlc_r -c -M -I.  -I/usr/lpp/Java/include -I/usr/lpp/Java/include/aix \
            $1.c -o $1.o 
grep " JNICALL " $1.h  | sed "s/.* JNICALL //g">"lib"${2}.so.exp
ld  -bnoquiet -bnoentry -bM:SRE -blibpath:/lib:/usr/lib -lc_r \
    -blibpath:/usr/lib/threads:/usr/lib:/lib -bE:"lib"${2}.so.exp
    -L /usr/lpp/Java/lib/aix/native_threads -ljava
    -o /users/stud/muelleto/proj/da/lib/"lib"${2}.AIX.so *.o 
rm "lib"${2}.so.exp *.u



Copyright Munich Network Management Team