Add Android build support

Android makefile fragments are distributed as extra distribution files
by the GNU build system but are otherwise ignored.  The Android build
support is independent and does not rely on the GNU build system.

See android/README.android for more info.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
This commit is contained in:
Ladislav Vaiz 2012-12-19 12:59:59 +01:00 committed by Nate Bargmann
parent a16dd4797a
commit 6d4295af2c
87 changed files with 1338 additions and 18 deletions

40
Android.mk Normal file
View File

@ -0,0 +1,40 @@
TOP_PATH := $(call my-dir)
include $(TOP_PATH)/src/Android.mk
include $(TOP_PATH)/adat/Android.mk
include $(TOP_PATH)/alinco/Android.mk
include $(TOP_PATH)/amsat/Android.mk
include $(TOP_PATH)/aor/Android.mk
include $(TOP_PATH)/ars/Android.mk
include $(TOP_PATH)/celestron/Android.mk
include $(TOP_PATH)/drake/Android.mk
include $(TOP_PATH)/dummy/Android.mk
include $(TOP_PATH)/easycomm/Android.mk
include $(TOP_PATH)/flexradio/Android.mk
include $(TOP_PATH)/fodtrack/Android.mk
include $(TOP_PATH)/gs232a/Android.mk
include $(TOP_PATH)/heathkit/Android.mk
include $(TOP_PATH)/icom/Android.mk
include $(TOP_PATH)/jrc/Android.mk
include $(TOP_PATH)/kachina/Android.mk
include $(TOP_PATH)/kenwood/Android.mk
include $(TOP_PATH)/kit/Android.mk
include $(TOP_PATH)/lowe/Android.mk
include $(TOP_PATH)/m2/Android.mk
include $(TOP_PATH)/pcr/Android.mk
include $(TOP_PATH)/prm80/Android.mk
include $(TOP_PATH)/racal/Android.mk
include $(TOP_PATH)/rft/Android.mk
include $(TOP_PATH)/rotorez/Android.mk
include $(TOP_PATH)/rs/Android.mk
include $(TOP_PATH)/sartek/Android.mk
include $(TOP_PATH)/skanti/Android.mk
include $(TOP_PATH)/spid/Android.mk
include $(TOP_PATH)/tapr/Android.mk
include $(TOP_PATH)/tentec/Android.mk
include $(TOP_PATH)/ts7400/Android.mk
include $(TOP_PATH)/tuner/Android.mk
include $(TOP_PATH)/uniden/Android.mk
include $(TOP_PATH)/winradio/Android.mk
include $(TOP_PATH)/wj/Android.mk
include $(TOP_PATH)/yaesu/Android.mk

View File

@ -7,7 +7,7 @@ pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = hamlib.pc
EXTRA_DIST = PLAN TODO LICENSE hamlib.m4 hamlib.pc.in README.developer \
README.betatester README.win32
README.betatester README.win32 Android.mk
SUBDIRS =
if BUILD_LIBLTDL
@ -17,13 +17,13 @@ SUBDIRS += macros include lib src \
@BACKEND_LIST@ \
@ROT_BACKEND_LIST@ \
@BINDINGS@ \
tests doc
tests doc android
DIST_SUBDIRS = libltdl macros include lib src c++ bindings tests doc \
icom kenwood aor yaesu dummy pcr alinco uniden tentec kachina jrc \
winradio adat easycomm fodtrack drake rotorez \
flexradio sartek lowe rft rs tapr kit skanti prm80 wj racal tuner \
gs232a heathkit spid ars m2 amsat scripts ts7400 celestron
gs232a heathkit spid ars m2 amsat scripts ts7400 celestron android
# Install any third party macros into our tree for distribution
ACLOCAL_AMFLAGS = -I macros --install

10
NEWS
View File

@ -1,7 +1,7 @@
Hamlib -- History of visible changes.
Copyright (C) 2000-2003 Frank Singleton
Copyright (C) 2000-2012 Stephane Fillod, and others
Copyright (C) 2000-2013 Stephane Fillod, and others
Please send Hamlib bug reports to hamlib-developer@lists.sourceforge.net
@ -28,9 +28,13 @@ Version 3.0
fixes, pcr.c, pcr1500.c: Add DSP support. TNX Paul, KE7ZZ
* WinRadio G313 updates. TNX Julian Campbel
* Readline editing and history support added to rigctl interactive
mode. Implement options for reading and writing history file.
mode. Implement options for reading and writing history file.
* Readline editing and history support added to rotctl interactive
mode. Implement options for reading and writing history file.
mode. Implement options for reading and writing history file.
* A new manual draft written in Texinfo added. Both GNU Info and single
HTML files are built and distributed, requires makeinfo.
* Android build system support. See android/README.android. Android
Makefile fragments are included in source tarballs.
Version 1.2.15.3
2012-11-01

13
adat/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := adat.c adt_200a.c
LOCAL_MODULE := adat
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_adat_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_adat_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = adat.h adt_200a.h
EXTRA_DIST = Android.mk

13
alinco/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := dx77.c alinco.c
LOCAL_MODULE := alinco
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_alinco_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_alinco_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = alinco.h
EXTRA_DIST = Android.mk

13
amsat/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := if100.c
LOCAL_MODULE := amsat
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -5,3 +5,4 @@ hamlib_amsat_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_amsat_la_LIBADD = $(top_builddir)/lib/libmisc.la \
$(top_builddir)/src/libhamlib.la
EXTRA_DIST = Android.mk

2
android/Makefile.am Normal file
View File

@ -0,0 +1,2 @@
EXTRA_DIST = config.h hamlib-compile ltdl.c ltdl.h README.android

17
android/README.android Normal file
View File

@ -0,0 +1,17 @@
This is android port of hamlib
(C) 2012 Ladislav Vaiz <ok1zia@nagano.cz>
Notes:
* use hamlib-compile script to build hamlib for android
* script deletes file include/config.h, it conflicts with android/config.h
* android port implements ltdl interface and calls dlfcn functions directly
* RPC is not present on android
* ARS backend is compiled without pthreads because of deprecated pthread_cancel
* I don'k know how to connect to real radio:
** Bluetooth API is available only under Java, not from native code
** FTDI USB to serial converter driver is not included in standard kernel. It should work on rooted device.
** But NET rigctl works fine
* Backends are named libhamlib-vendor.so, I don't know how to include libraries without lib prefix into APK
Happy hacking
73 Lada, OK1ZIA

469
android/config.h Normal file
View File

@ -0,0 +1,469 @@
/* config.h for android port */
/* Frontend ABI version */
#define ABI_VERSION 2
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
/* #undef CRAY_STACKSEG_END */
/* Define to 1 if using `alloca.c'. */
/* #undef C_ALLOCA */
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <argz.h> header file. */
#define HAVE_ARGZ_H 1
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define HAVE_ARPA_INET_H 1
/* Define to 1 if you have the `atexit' function. */
#define HAVE_ATEXIT 1
/* Define to 1 if you have the `cfmakeraw' function. */
#define HAVE_CFMAKERAW 1
/* Define to 1 if you have the <dev/ppbus/ppbconf.h> header file. */
/* #undef HAVE_DEV_PPBUS_PPBCONF_H */
/* Define to 1 if you have the <dev/ppbus/ppi.h> header file. */
/* #undef HAVE_DEV_PPBUS_PPI_H */
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
/* #undef HAVE_DOPRNT */
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the `gai_strerror' function. */
#define HAVE_GAI_STRERROR 1
/* Define to 1 if you have the <gd.h> header file. */
/* #undef HAVE_GD_H */
/* Define to 1 if you have the `getaddrinfo' function. */
#define HAVE_GETADDRINFO 1
/* Define to 1 if you have the `getopt' function. */
#define HAVE_GETOPT 1
/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1
/* Define to 1 if you have the `getopt_long' function. */
#define HAVE_GETOPT_LONG 1
/* Define to 1 if you have the `gettimeofday' function. */
#define HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `ioctl' function. */
#define HAVE_IOCTL 1
/* Define to 1 if you have the `syslog' library (-lsyslog). */
/* #undef HAVE_LIBSYSLOG */
/* Define to 1 if you have the <linux/ioctl.h> header file. */
#define HAVE_LINUX_IOCTL_H 1
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `memset' function. */
#define HAVE_MEMSET 1
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <netdb.h> header file. */
#define HAVE_NETDB_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <net/errno.h> header file. */
/* #undef HAVE_NET_ERRNO_H */
/* If available, contains the Python version number currently in use. */
/* #undef HAVE_PYTHON */
/* Define to 1 if you have the <rpc/rpcent.h> header file. */
/* #undef HAVE_RPC_RPCENT_H */
/* Define to 1 if you have the <rpc/rpc.h> header file. */
#define HAVE_RPC_RPC_H 1
/* Define to 1 if you have the `select' function. */
#define HAVE_SELECT 1
/* Define to 1 if you have the `setitimer' function. */
#define HAVE_SETITIMER 1
/* Define to 1 if you have the <sgtty.h> header file. */
#define HAVE_SGTTY_H 1
/* Define to 1 if you have the `sigaction' function. */
#define HAVE_SIGACTION 1
/* Define to 1 if the system has the type `siginfo_t'. */
#define HAVE_SIGINFO_T 1
/* Define to 1 if you have the `sleep' function. */
#define HAVE_SLEEP 1
/* Define to 1 if you have the `snprintf' function. */
#define HAVE_SNPRINTF 1
/* Define to 1 if the system has the type `ssize_t'. */
#define HAVE_SSIZE_T 1
/* Define to 1 if you have win32 Sleep */
/* #undef HAVE_SSLEEP */
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strcasecmp' function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if you have the `strstr' function. */
#define HAVE_STRSTR 1
/* Define to 1 if you have the `strtol' function. */
#define HAVE_STRTOL 1
/* Define to 1 if the system has the type `struct addrinfo'. */
#define HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if the system has the type `struct timezone'. */
#define HAVE_STRUCT_TIMEZONE 1
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/ioccom.h> header file. */
/* #undef HAVE_SYS_IOCCOM_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#define HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <tcl.h> header file. */
/* #undef HAVE_TCL_H */
/* Define to 1 if you have the <termios.h> header file. */
#define HAVE_TERMIOS_H 1
/* Define to 1 if you have the <termio.h> header file. */
#define HAVE_TERMIO_H 1
/* Define to 1 if you have the <term.h> header file. */
/* #undef HAVE_TERM_H */
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the <usb.h> header file. */
#define HAVE_USB_H 1
/* Define to 1 if you have the `usleep' function. */
#define HAVE_USLEEP 1
/* Define if usrp is available */
/* #undef HAVE_USRP */
/* Define to 1 if you have the <values.h> header file. */
#define HAVE_VALUES_H 1
/* Define to 1 if you have the `vprintf' function. */
#define HAVE_VPRINTF 1
/* Define to 1 if you have the <winbase.h> header file. */
/* #undef HAVE_WINBASE_H */
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* Define to 1 if you have the <winioctl.h> header file. */
/* #undef HAVE_WINIOCTL_H */
/* Define to 1 if you have the <ws2tcpip.h> header file. */
/* #undef HAVE_WS2TCPIP_H */
/* Define if libxml2 is available */
/* #undef HAVE_XML2 */
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "hamlib-developer@lists.sourceforge.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "Hamlib"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "Hamlib 1.2.15"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "hamlib"
/* Define to the home page for this package. */
#define PACKAGE_URL "http://www.hamlib.org"
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.2.15"
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
/* #undef PTHREAD_CREATE_JOINABLE */
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
/* #undef STACK_DIRECTION */
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#define TIME_WITH_SYS_TIME 1
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define missing prototypes, implemented in replacement lib */
#ifdef __cplusplus
extern "C" {
#endif
#ifndef HAVE_GETOPT
int getopt (int argc, char * const argv[], const char * optstring);
extern char * optarg;
extern int optind, opterr, optopt;
#endif
#ifndef HAVE_GETOPT_LONG
struct option;
int getopt_long (int argc, char * const argv[], const char * optstring,
const struct option * longopts, int * longindex);
#endif
#ifndef HAVE_USLEEP
int usleep(unsigned long usec); /* SUSv2 */
#endif
#if defined(HAVE_SSLEEP) && !defined(HAVE_SLEEP)
#ifdef HAVE_WINBASE_H
#include <windows.h>
#include <winbase.h>
#endif
/* TODO: what about SleepEx? */
static inline unsigned int sleep (unsigned int nb_sec) { Sleep(nb_sec*1000); return 0; }
#endif
#ifndef HAVE_GETTIMEOFDAY
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifndef HAVE_STRUCT_TIMEZONE
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
#endif
int gettimeofday(struct timeval *tv, struct timezone *tz);
#endif
#ifndef HAVE_SSIZE_T
typedef size_t ssize_t;
#endif
#ifdef __cplusplus
}
#endif
/* Define missing prototypes, implemented in replacement lib */
#ifdef __cplusplus
extern "C" {
#endif
#ifndef HAVE_STRUCT_ADDRINFO
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#if HAVE_NETDB_H
#include <netdb.h>
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
#include <ws2tcpip.h>
#endif
struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
int ai_protocol;
socklen_t ai_addrlen;
struct sockaddr *ai_addr;
};
#endif
#ifndef HAVE_GETADDRINFO
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
#if HAVE_NETDB_H
#include <netdb.h>
#endif
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#elif HAVE_WS2TCPIP_H
#include <ws2tcpip.h>
#endif
#ifndef AI_PASSIVE
#define AI_PASSIVE 0x0001
#endif
int getaddrinfo(const char *node, const char *service,
const struct addrinfo *hints, struct addrinfo **res);
void freeaddrinfo(struct addrinfo *res);
#endif
#if !defined(HAVE_GAI_STRERROR) && !defined(gai_strerror)
const char *gai_strerror(int errcode);
#endif /* !HAVE_GAI_STRERROR */
#ifdef __cplusplus
}
#endif
#define HAMLIB_MODULE_DIR "."

18
android/hamlib-compile Normal file
View File

@ -0,0 +1,18 @@
#!/bin/bash
set -e
tmp=`dirname $0`
HAMLIB=`readlink -f $tmp/..`
cd $HAMLIB
rm -f $HAMLIB/include/config.h
if [ -n "$1" ]; then
ndk-build NDK_PROJECT_PATH=$HAMLIB APP_BUILD_SCRIPT=$HAMLIB/Android.mk $1
exit
fi
ndk-build NDK_PROJECT_PATH=$HAMLIB APP_BUILD_SCRIPT=$HAMLIB/Android.mk hamlib
ndk-build NDK_PROJECT_PATH=$HAMLIB APP_BUILD_SCRIPT=$HAMLIB/Android.mk

123
android/ltdl.c Normal file
View File

@ -0,0 +1,123 @@
/*
ltdl.c - ltdl emulation for android
Copyright (C) 2012 Ladislav Vaiz <ok1zia@nagano.cz>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
version 2 as published by the Free Software Foundation.
*/
#include <config.h>
#include <ltdl.h>
#include <dlfcn.h>
#include <stdio.h>
#include <string.h>
#ifdef ANDROID
#include <android/log.h>
#endif
#define APREFIX "lib"
#define ASUFFIX ".so"
#define AMAXSTR 1024
#define ASONAME "libhamlib.so"
// path to application's libraries with trailing slash
char *libpath = NULL;
char *getlibpath(void){
char s[AMAXSTR];
FILE *f;
if (libpath != NULL) return libpath;
f = fopen("/proc/self/maps", "rt");
if (!f) return "./";
while (fgets(s, AMAXSTR - 1, f)){
char *c;
s[AMAXSTR - 1] = '\0';
c = strstr(s, ASONAME);
if (!c) continue;
// s is like "4a8a5000-4a8a6000 r--p 00018000 1f:01 743 /data/data/cz.nagano.tucnak/lib/libhamlib.so\n"
*c = '\0';
c = strchr(s, '/');
if (!c) continue;
libpath = malloc(strlen(c) + 1);
strcpy(libpath, c);
break;
}
fclose(f);
return libpath;
}
int lt_dlinit(void){
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlinit");
return 0;
}
// not called from hamlib
int lt_dlexit(void){
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlexit");
if (libpath != NULL){
free(libpath);
libpath = NULL;
}
return 0;
}
int lt_dladdsearchdir(const char *search_dir){
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dladdsearchdir");
return 0;
}
lt_dlhandle adlopen(const char *filename){
char *c;
lt_dlhandle *ret;
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "adlopen('%s')", filename);
getlibpath();
if (libpath == NULL || filename == NULL) return NULL;
c = malloc(strlen(libpath) + strlen(APREFIX) + strlen(filename) + strlen(ASUFFIX) + 1);
strcpy(c, libpath);
strcat(c, APREFIX);
strcat(c, filename);
strcat(c, ASUFFIX);
ret = dlopen(c, 0);
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "adlopen('%s')=%p", c, ret);
free(c);
return ret;
}
lt_dlhandle lt_dlopen(const char *filename){
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlopen(%s)", filename);
return adlopen(filename);
}
lt_dlhandle lt_dlopenext(const char *filename){
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlopenext(%s)", filename);
return adlopen(filename);
}
int lt_dlclose(lt_dlhandle handle){
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlclose");
return dlclose(handle);
}
void *lt_dlsym(lt_dlhandle handle, const char *name){
void *ret = dlsym(handle, name);
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlsym(%s)=%p", name, ret);
return ret;
}
const char *lt_dlerror(void){
const char *ret = dlerror();
// __android_log_print(ANDROID_LOG_DEBUG, PACKAGE_NAME, "lt_dlerror=%s", ret);
return ret;
}

20
android/ltdl.h Normal file
View File

@ -0,0 +1,20 @@
/*
ltdl.h - ltdl emulation for android
Copyright (C) 2012 Ladislav Vaiz <ok1zia@nagano.cz>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
version 2 as published by the Free Software Foundation.
*/
typedef void *lt_dlhandle;
int lt_dlinit(void);
int lt_dlexit(void);
int lt_dladdsearchdir(const char *search_dir);
lt_dlhandle lt_dlopen(const char *filename);
lt_dlhandle lt_dlopenext(const char *filename);
int lt_dlclose(lt_dlhandle handle);
void *lt_dlsym(lt_dlhandle handle, const char *name);
const char *lt_dlerror(void);

14
aor/Android.mk Normal file
View File

@ -0,0 +1,14 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ar8200.c ar8000.c ar5000.c ar3000.c ar7030.c ar3030.c \
ar2700.c ar8600.c ar7030p.c ar7030p_utils.c sr2200.c aor.c
LOCAL_MODULE := aor
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,6 +6,8 @@ hamlib_aor_la_SOURCES = $(AORSRCLIST) aor.c
hamlib_aor_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_aor_la_LIBADD = $(top_builddir)/src/libhamlib.la
EXTRA_DIST = README.aor README.ar5000 README.ar7030
EXTRA_DIST = README.aor README.ar5000 README.ar7030 Android.mk
noinst_HEADERS = aor.h ar7030p.h

13
ars/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ars.c
LOCAL_MODULE := ars
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_ars_la_LIBADD = $(top_builddir)/lib/libmisc.la \
$(top_builddir)/src/libhamlib.la
noinst_HEADERS = ars.h
EXTRA_DIST = Android.mk

13
celestron/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := celestron.c
LOCAL_MODULE := celestron
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -5,3 +5,5 @@ hamlib_celestron_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_celestron_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = celestron.h
EXTRA_DIST = Android.mk

View File

@ -706,6 +706,7 @@ adat/Makefile
ts7400/Makefile
celestron/Makefile
scripts/Makefile
android/Makefile
hamlib.pc])
AC_OUTPUT

13
drake/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := r8a.c r8b.c drake.c
LOCAL_MODULE := drake
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_drake_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_drake_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = drake.h
EXTRA_DIST = Android.mk

13
dummy/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := dummy.c rot_dummy.c netrigctl.c netrotctl.c
LOCAL_MODULE := dummy
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_dummy_la_LIBADD = $(top_builddir)/src/libhamlib.la \
@MATH_LIBS@
noinst_HEADERS = dummy.h rot_dummy.h
EXTRA_DIST = Android.mk

13
easycomm/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := easycomm.c
LOCAL_MODULE := easycomm
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -4,6 +4,6 @@ hamlib_easycomm_la_SOURCES = easycomm.c
hamlib_easycomm_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_easycomm_la_LIBADD = $(top_builddir)/src/libhamlib.la
EXTRA_DIST = easycomm.txt
EXTRA_DIST = easycomm.txt Android.mk
noinst_HEADERS = easycomm.h

13
flexradio/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := flexradio.c sdr1k.c dttsp.c
LOCAL_MODULE := flexradio
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_flexradio_la_LIBADD = $(top_builddir)/lib/libmisc.la \
$(top_builddir)/src/libhamlib.la
noinst_HEADERS = flexradio.h
EXTRA_DIST = Android.mk

13
fodtrack/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := fodtrack.c
LOCAL_MODULE := fodtrack
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_fodtrack_la_LIBADD = $(top_builddir)/lib/libmisc.la \
$(top_builddir)/src/libhamlib.la
noinst_HEADERS = fodtrack.h
EXTRA_DIST = Android.mk

13
gs232a/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := gs232a.c gs232b.c gs232.c
LOCAL_MODULE := gs232a
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -5,3 +5,5 @@ hamlib_gs232a_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_gs232a_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = gs232a.h
EXTRA_DIST = Android.mk

13
heathkit/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := hd1780.c
LOCAL_MODULE := heathkit
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -5,3 +5,5 @@ hamlib_heathkit_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_heathkit_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = hd1780.h
EXTRA_DIST = Android.mk

22
icom/Android.mk Normal file
View File

@ -0,0 +1,22 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ic706.c icr8500.c ic735.c ic775.c ic756.c \
ic275.c ic475.c ic1275.c ic820h.c ic821h.c \
icr7000.c ic910.c ic9100.c ic970.c ic725.c ic737.c ic718.c \
os535.c os456.c omni.c delta2.c ic92d.c \
ic736.c ic738.c ic7410.c ic746.c ic703.c ic726.c ic271.c \
ic765.c ic781.c ic471.c id1.c icr9000.c icr9500.c \
icr10.c icr20.c icr71.c icr72.c icr75.c icrx7.c \
ic707.c ic728.c ic751.c ic761.c \
ic78.c ic7800.c ic7000.c ic7200.c ic7600.c ic7700.c \
icom.c frame.c optoscan.c
LOCAL_MODULE := icom
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -14,6 +14,6 @@ hamlib_icom_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_icom_la_LIBADD = $(top_builddir)/lib/libmisc.la \
$(top_builddir)/src/libhamlib.la
EXTRA_DIST = README.icom TODO.icom
EXTRA_DIST = README.icom TODO.icom Android.mk
noinst_HEADERS = frame.h icom.h icom_defs.h optoscan.h

13
jrc/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := nrd535.c nrd545.c nrd525.c jrc.c
LOCAL_MODULE := jrc
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_jrc_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_jrc_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = jrc.h
EXTRA_DIST = Android.mk

13
kachina/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := 505dsp.c kachina.c
LOCAL_MODULE := kachina
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_kachina_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_kachina_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = kachina.h
EXTRA_DIST = Android.mk

18
kenwood/Android.mk Normal file
View File

@ -0,0 +1,18 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ts850.c ts870s.c ts570.c ts450s.c ts950.c ts50s.c \
ts790.c ts2000.c k2.c k3.c ts930.c \
ts680.c ts690.c ts140.c ts480.c trc80.c ts590.c \
ts440.c ts940.c ts711.c ts811.c r5000.c \
thd7.c thf7.c thg71.c tmd700.c tmv7.c thf6a.c thd72.c tmd710.c \
kenwood.c th.c ic10.c elecraft.c transfox.c
LOCAL_MODULE := kenwood
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -9,11 +9,11 @@ THSRCLIST = thd7.c thf7.c thg71.c tmd700.c tmv7.c thf6a.c thd72.c tmd710.c
pkglib_LTLIBRARIES = hamlib-kenwood.la
hamlib_kenwood_la_SOURCES = $(TSSRCLIST) $(THSRCLIST) $(IC10SRCLIST) \
kenwood.c th.c ic10.c elecraft.c transfox.c
kenwood.c th.c ic10.c elecraft.c transfox.c
hamlib_kenwood_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_kenwood_la_LIBADD = $(top_builddir)/src/libhamlib.la @MATH_LIBS@
EXTRA_DIST = README.kenwood README.k2 README.k3
EXTRA_DIST = README.kenwood README.k2 README.k3 Android.mk
noinst_HEADERS = kenwood.h th.h ic10.h elecraft.h

15
kit/Android.mk Normal file
View File

@ -0,0 +1,15 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := elektor304.c drt1.c dwt.c usrp.c elektor507.c \
dds60.c miniVNA.c si570avrusb.c funcube.c fifisdr.c hiqsdr.c \
pcrotor.c kit.c
LOCAL_MODULE := kit
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -28,4 +28,4 @@ hamlib_kit_la_LIBADD = $(top_builddir)/lib/libmisc.la \
noinst_HEADERS = kit.h usrp_impl.h si570avrusb.h funcube.h
EXTRA_DIST = README.funcubedongle
EXTRA_DIST = README.funcubedongle Android.mk

13
lowe/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := hf235.c lowe.c
LOCAL_MODULE := lowe
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_lowe_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_lowe_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = lowe.h
EXTRA_DIST = Android.mk

13
m2/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := rc2800.c
LOCAL_MODULE := m2
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -5,3 +5,5 @@ hamlib_m2_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_m2_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = rc2800.h
EXTRA_DIST = Android.mk

13
pcr/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := pcr1000.c pcr100.c pcr1500.c pcr2500.c pcr.c
LOCAL_MODULE := pcr
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -7,3 +7,5 @@ hamlib_pcr_la_LIBADD = $(top_builddir)/src/libhamlib.la \
$(top_builddir)/lib/libmisc.la
noinst_HEADERS = pcr.h
EXTRA_DIST = Android.mk

13
prm80/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := prm8060.c prm80.c
LOCAL_MODULE := prm80
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_prm80_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_prm80_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = prm80.h
EXTRA_DIST = Android.mk

13
racal/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ra6790.c ra3702.c racal.c ra37xx.c
LOCAL_MODULE := racal
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -7,3 +7,5 @@ hamlib_racal_la_LIBADD = $(top_builddir)/src/libhamlib.la \
$(top_builddir)/lib/libmisc.la
noinst_HEADERS = racal.h ra37xx.h
EXTRA_DIST = Android.mk

13
rft/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ekd500.c rft.c
LOCAL_MODULE := rft
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_rft_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_rft_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = rft.h
EXTRA_DIST = Android.mk

13
rotorez/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := rotorez.c
LOCAL_MODULE := rotorez
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -4,6 +4,6 @@ hamlib_rotorez_la_SOURCES = rotorez.c
hamlib_rotorez_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_rotorez_la_LIBADD = $(top_builddir)/src/libhamlib.la
EXTRA_DIST = README.rotorez rotorez.txt
EXTRA_DIST = README.rotorez rotorez.txt Android.mk
noinst_HEADERS = rotorez.h

13
rs/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := esmc.c eb200.c rs.c
LOCAL_MODULE := rs
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_rs_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_rs_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = rs.h
EXTRA_DIST = Android.mk

13
sartek/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := sartek.c
LOCAL_MODULE := sartek
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -5,3 +5,5 @@ hamlib_sartek_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_sartek_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = sartek.h
EXTRA_DIST = Android.mk

13
skanti/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := trp8000.c trp8255.c skanti.c
LOCAL_MODULE := skanti
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_skanti_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_skanti_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = skanti.h
EXTRA_DIST = Android.mk

13
spid/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := spid.c
LOCAL_MODULE := spid
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -4,6 +4,8 @@ hamlib_spid_la_SOURCES = spid.c
hamlib_spid_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_spid_la_LIBADD = $(top_builddir)/src/libhamlib.la
EXTRA_DIST = spid.txt
EXTRA_DIST = spid.txt Android.mk
noinst_HEADERS = spid.h

35
src/Android.mk Normal file
View File

@ -0,0 +1,35 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
../android/ltdl.c \
rig.c \
serial.c \
misc.c \
register.c \
event.c \
cal.c \
conf.c \
tones.c \
rotator.c \
locator.c \
rot_reg.c \
rot_conf.c \
iofunc.c \
ext.c \
mem.c \
settings.c \
parallel.c \
usb_port.c \
debug.c \
network.c \
cm108.c
LOCAL_MODULE := libhamlib
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)

View File

@ -21,3 +21,4 @@ noinst_HEADERS = event.h misc.h serial.h iofunc.h cal.h tones.h \
rot_conf.h token.h idx_builtin.h register.h par_nt.h \
parallel.h usb_port.h network.h cm108.h
EXTRA_DIST = Android.mk

View File

@ -43,6 +43,10 @@
#include <sys/types.h>
#include <unistd.h>
#ifdef ANDROID
#include <android/log.h>
#endif
#include <hamlib/rig.h>
#include "misc.h"
@ -142,6 +146,28 @@ void HAMLIB_API rig_debug(enum rig_debug_level_e debug_level, const char *fmt, .
}
va_end(ap);
#ifdef ANDROID
int a;
va_start(ap, fmt);
switch (debug_level){
// case RIG_DEBUG_NONE:
case RIG_DEBUG_BUG:
a = ANDROID_LOG_FATAL; break;
case RIG_DEBUG_ERR:
a = ANDROID_LOG_ERROR; break;
case RIG_DEBUG_WARN:
a = ANDROID_LOG_WARN; break;
case RIG_DEBUG_VERBOSE:
a = ANDROID_LOG_VERBOSE; break;
case RIG_DEBUG_TRACE:
a = ANDROID_LOG_VERBOSE; break;
default:
a = ANDROID_LOG_DEBUG; break;
}
__android_log_vprint(a, PACKAGE_NAME, fmt, ap);
va_end(ap);
#endif
}
/**

13
tapr/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := dsp10.c tapr.c
LOCAL_MODULE := tapr
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_tapr_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_tapr_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = tapr.h
EXTRA_DIST = Android.mk

15
tentec/Android.mk Normal file
View File

@ -0,0 +1,15 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := rx320.c rx340.c rx350.c rx331.c \
pegasus.c argonaut.c orion.c jupiter.c omnivii.c paragon.c \
tentec.c tentec2.c tt550.c
LOCAL_MODULE := tentec
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -7,6 +7,6 @@ hamlib_tentec_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_tentec_la_LIBADD = $(top_builddir)/src/libhamlib.la \
$(top_builddir)/lib/libmisc.la
EXTRA_DIST = README
EXTRA_DIST = README Android.mk
noinst_HEADERS = tentec.h tentec2.h tt550.h orion.h rx331.h

13
ts7400/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ts7400.c
LOCAL_MODULE := ts7400
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -1,6 +1,6 @@
EXTRA_DIST = include/ep93xx_adc.h include/io.h include/peekpoke.h \
include/readADC.h include/io.c include/peekpoke.c include/readADC.c \
include/test7400ADC.c
include/test7400ADC.c Android.mk
pkglib_LTLIBRARIES = hamlib-ts7400.la
hamlib_ts7400_la_SOURCES = ts7400.c

13
tuner/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := v4l.c v4l2.c
LOCAL_MODULE := tuner
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_tuner_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_tuner_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = tuner.h videodev.h videodev2.h
EXTRA_DIST = Android.mk

15
uniden/Android.mk Normal file
View File

@ -0,0 +1,15 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := bc895.c bc898.c bc245.c pro2052.c bc780.c bc250.c \
bcd396t.c bcd996t.c \
uniden.c uniden_digital.c
LOCAL_MODULE := uniden
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -7,3 +7,5 @@ hamlib_uniden_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_uniden_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = uniden.h uniden_digital.h
EXTRA_DIST = Android.mk

14
winradio/Android.mk Normal file
View File

@ -0,0 +1,14 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := wr1000.c wr1500.c wr1550.c wr3100.c wr3150.c wr3500.c wr3700.c \
g303.c g313.c g305.c winradio.c
LOCAL_MODULE := winradio
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -7,6 +7,6 @@ hamlib_winradio_la_SOURCES = $(WRSRCLIST) winradio.c
hamlib_winradio_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_winradio_la_LIBADD = $(top_builddir)/src/libhamlib.la
EXTRA_DIST = NOTES
EXTRA_DIST = NOTES Android.mk
noinst_HEADERS = winradio.h linradio/radio_ioctl.h linradio/wrapi.h linradio/wrg313api.h

13
wj/Android.mk Normal file
View File

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := wj8888.c wj.c
LOCAL_MODULE := wj
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -6,3 +6,5 @@ hamlib_wj_la_LDFLAGS = -no-undefined -module -avoid-version
hamlib_wj_la_LIBADD = $(top_builddir)/src/libhamlib.la
noinst_HEADERS = wj.h
EXTRA_DIST = Android.mk

19
yaesu/Android.mk Normal file
View File

@ -0,0 +1,19 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := ft100.c ft747.c ft817.c ft847.c ft890.c ft900.c ft920.c \
ft1000mp.c ft857.c ft897.c ft990.c frg8800.c \
ft757gx.c ft736.c frg100.c frg9600.c ft1000d.c \
vr5000.c ft767gx.c ft840.c ft980.c vx1700.c \
newcat.c ft450.c ft950.c ft2000.c ft9000.c ft5000.c \
yaesu.c
LOCAL_MODULE := yaesu
LOCAL_MODULE_FILENAME := libhamlib-$(LOCAL_MODULE)
LOCAL_CFLAGS := -DHAVE_CONFIG_H
LOCAL_C_INCLUDES := android include src
LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
include $(BUILD_SHARED_LIBRARY)

View File

@ -16,7 +16,7 @@ hamlib_yaesu_la_LIBADD = $(top_builddir)/lib/libmisc.la \
@MATH_LIBS@ \
$(top_builddir)/src/libhamlib.la
EXTRA_DIST = README.ft890 README.ft920
EXTRA_DIST = README.ft890 README.ft920 Android.mk
noinst_HEADERS = ft100.h ft747.h ft817.h ft847.h ft890.h ft900.h ft920.h \
ft1000mp.h ft857.h ft897.h ft990.h yaesu.h \