From 669cde8a87d88ceae89e369c1d38b88c9f8198cf Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 25 Dec 2012 14:19:19 -0800 Subject: [PATCH] Move libaltos to top level This will let it be shared by the new MicroPeak gui Signed-off-by: Keith Packard --- Makefile.am | 2 +- altosui/Makefile.am | 36 ++++++------ configure.ac | 3 +- {altosui/libaltos => libaltos}/.gitignore | 0 .../libaltos => libaltos}/Makefile-standalone | 0 {altosui/libaltos => libaltos}/Makefile.am | 0 {altosui/libaltos => libaltos}/cjnitest.c | 0 {altosui/libaltos => libaltos}/libaltos.c | 53 ++++++++++-------- {altosui/libaltos => libaltos}/libaltos.dylib | Bin {altosui/libaltos => libaltos}/libaltos.h | 0 {altosui/libaltos => libaltos}/libaltos.i0 | 0 11 files changed, 50 insertions(+), 44 deletions(-) rename {altosui/libaltos => libaltos}/.gitignore (100%) rename {altosui/libaltos => libaltos}/Makefile-standalone (100%) rename {altosui/libaltos => libaltos}/Makefile.am (100%) rename {altosui/libaltos => libaltos}/cjnitest.c (100%) rename {altosui/libaltos => libaltos}/libaltos.c (97%) rename {altosui/libaltos => libaltos}/libaltos.dylib (100%) rename {altosui/libaltos => libaltos}/libaltos.h (100%) rename {altosui/libaltos => libaltos}/libaltos.i0 (100%) diff --git a/Makefile.am b/Makefile.am index aaa0ae14..2e45aff0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS=src doc altoslib altosui ao-tools ao-utils altosdroid +SUBDIRS=src doc altoslib libaltos altosui ao-tools ao-utils altosdroid EXTRA_DIST = ChangeLog diff --git a/altosui/Makefile.am b/altosui/Makefile.am index 306a396e..a42426cd 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS=libaltos + JAVAROOT=classes AM_JAVACFLAGS=-encoding UTF-8 -Xlint:deprecation @@ -6,7 +6,7 @@ man_MANS=altosui.1 altoslibdir=$(libdir)/altos -CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar" +CLASSPATH_ENV=mkdir -p $(JAVAROOT); CLASSPATH=".:classes:../altoslib/*:../libaltos:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar:$(FREETTS)/freetts.jar" bin_SCRIPTS=altosui @@ -233,13 +233,13 @@ $(JAR): classaltosui.stamp Manifest.txt $(JAVA_ICONS) $(ALTOSLIB_CLASS) jar cfm $@ Manifest.txt \ $(ICONJAR) \ -C classes altosui \ - -C libaltos libaltosJNI + -C ../libaltos libaltosJNI $(FATJAR): classaltosui.stamp Manifest-fat.txt $(ALTOSLIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) $(JAVA_ICONS) jar cfm $@ Manifest-fat.txt \ $(ICONJAR) \ -C classes altosui \ - -C libaltos libaltosJNI + -C ../libaltos libaltosJNI Manifest.txt: Makefile echo 'Main-Class: altosui.AltosUI' > $@ @@ -256,43 +256,43 @@ altosui: Makefile altosui-test: Makefile echo "#!/bin/sh" > $@ - echo 'exec java -cp "./*:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="libaltos/.libs" -jar altosui.jar "$$@"' >> $@ + echo 'exec java -cp "./*:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" -jar altosui.jar "$$@"' >> $@ chmod +x $@ altosui-jdb: Makefile echo "#!/bin/sh" > $@ - echo 'exec jdb -classpath "classes:libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="libaltos/.libs" altosui/AltosUI "$$@"' >> $@ + echo 'exec jdb -classpath "classes:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" altosui/AltosUI "$$@"' >> $@ chmod +x $@ libaltos.so: build-libaltos -rm -f "$@" - $(LN_S) libaltos/.libs/"$@" . + $(LN_S) ../libaltos/.libs/"$@" . libaltos.dylib: -rm -f "$@" - $(LN_S) libaltos/"$@" . + $(LN_S) ../libaltos/"$@" . -altos.dll: libaltos/altos.dll +altos.dll: ../libaltos/altos.dll -rm -f "$@" - $(LN_S) libaltos/"$@" . + $(LN_S) ../libaltos/"$@" . -altos64.dll: libaltos/altos64.dll +altos64.dll: ../libaltos/altos64.dll -rm -f "$@" - $(LN_S) libaltos/"$@" . + $(LN_S) ../libaltos/"$@" . -libaltos/.libs/libaltos.so: build-libaltos +../libaltos/.libs/libaltos.so: build-libaltos -libaltos/altos.dll: build-altos-dll +../libaltos/altos.dll: build-altos-dll -libaltos/altos64.dll: build-altos64-dll +../libaltos/altos64.dll: build-altos64-dll build-libaltos: - +cd libaltos && make libaltos.la + +cd ../libaltos && make libaltos.la build-altos-dll: - +cd libaltos && make altos.dll + +cd ../libaltos && make altos.dll build-altos64-dll: - +cd libaltos && make altos64.dll + +cd ../libaltos && make altos64.dll $(ALTOSLIB_CLASS): -rm -f "$@" diff --git a/configure.ac b/configure.ac index bee9480d..e3b1185f 100644 --- a/configure.ac +++ b/configure.ac @@ -149,7 +149,8 @@ altoslib/Makefile altosui/Makefile altosui/AltosVersion.java altosui/Info.plist -altosui/libaltos/Makefile +libaltos/Makefile +micropeak/Makefile altosdroid/Makefile altosdroid/local.properties ao-tools/Makefile diff --git a/altosui/libaltos/.gitignore b/libaltos/.gitignore similarity index 100% rename from altosui/libaltos/.gitignore rename to libaltos/.gitignore diff --git a/altosui/libaltos/Makefile-standalone b/libaltos/Makefile-standalone similarity index 100% rename from altosui/libaltos/Makefile-standalone rename to libaltos/Makefile-standalone diff --git a/altosui/libaltos/Makefile.am b/libaltos/Makefile.am similarity index 100% rename from altosui/libaltos/Makefile.am rename to libaltos/Makefile.am diff --git a/altosui/libaltos/cjnitest.c b/libaltos/cjnitest.c similarity index 100% rename from altosui/libaltos/cjnitest.c rename to libaltos/cjnitest.c diff --git a/altosui/libaltos/libaltos.c b/libaltos/libaltos.c similarity index 97% rename from altosui/libaltos/libaltos.c rename to libaltos/libaltos.c index ab6ca878..d7b266cf 100644 --- a/altosui/libaltos/libaltos.c +++ b/libaltos/libaltos.c @@ -20,16 +20,6 @@ #include #include -#define USB_VENDOR_FSF 0xfffe -#define USB_VENDOR_ALTUSMETRUM USB_VENDOR_FSF -#define USB_PRODUCT_ALTUSMETRUM 0x000a -#define USB_PRODUCT_ALTUSMETRUM_MIN 0x000a -#define USB_PRODUCT_ALTUSMETRUM_MAX 0x00ff - -#define USB_IS_ALTUSMETRUM(v,p) ((v) == USB_VENDOR_ALTUSMETRUM && \ - (USB_PRODUCT_ALTUSMETRUM_MIN <= (p) && \ - (p) <= USB_PRODUCT_ALTUSMETRUM_MAX)) - #define BLUETOOTH_PRODUCT_TELEBT "TeleBT" #define USE_POLL @@ -473,6 +463,7 @@ usb_tty(char *sys) base, config, interface); endpoint_full = cc_fullname(sys, endpoint_base); + /* Check for tty:ttyACMx style names */ ntty = scandir(endpoint_full, &namelist, @@ -485,6 +476,18 @@ usb_tty(char *sys) return tty; } + /* Check for ttyACMx style names + */ + ntty = scandir(endpoint_full, &namelist, + dir_filter_tty, + alphasort); + if (ntty > 0) { + free(endpoint_full); + tty = cc_fullname("/dev", namelist[0]->d_name); + free(namelist); + return tty; + } + /* Check for tty/ttyACMx style names */ tty_dir = cc_fullname(endpoint_full, "tty"); @@ -498,6 +501,7 @@ usb_tty(char *sys) free(namelist); return tty; } + } } return NULL; @@ -507,7 +511,11 @@ static struct altos_usbdev * usb_scan_device(char *sys) { struct altos_usbdev *usbdev; + char *tty; + tty = usb_tty(sys); + if (!tty) + return NULL; usbdev = calloc(1, sizeof (struct altos_usbdev)); if (!usbdev) return NULL; @@ -517,7 +525,7 @@ usb_scan_device(char *sys) usbdev->serial = load_dec(sys, "serial"); usbdev->idProduct = load_hex(sys, "idProduct"); usbdev->idVendor = load_hex(sys, "idVendor"); - usbdev->tty = usb_tty(sys); + usbdev->tty = tty; return usbdev; } @@ -581,15 +589,15 @@ altos_list_start(void) for (e = 0; e < n; e++) { dir = cc_fullname(USB_DEVICES, ents[e]->d_name); dev = usb_scan_device(dir); + if (!dev) + continue; free(dir); - if (USB_IS_ALTUSMETRUM(dev->idVendor, dev->idProduct)) { - if (devs->dev) - devs->dev = realloc(devs->dev, - (devs->ndev + 1) * sizeof (struct usbdev *)); - else - devs->dev = malloc (sizeof (struct usbdev *)); - devs->dev[devs->ndev++] = dev; - } + if (devs->dev) + devs->dev = realloc(devs->dev, + (devs->ndev + 1) * sizeof (struct usbdev *)); + else + devs->dev = malloc (sizeof (struct usbdev *)); + devs->dev[devs->ndev++] = dev; } free(ents); devs->current = 0; @@ -600,8 +608,9 @@ int altos_list_next(struct altos_list *list, struct altos_device *device) { struct altos_usbdev *dev; - if (list->current >= list->ndev) + if (list->current >= list->ndev) { return 0; + } dev = list->dev[list->current]; strcpy(device->name, dev->product_name); device->vendor = dev->idVendor; @@ -1026,10 +1035,6 @@ altos_list_next(struct altos_list *list, struct altos_device *device) "%04X", &pid); sscanf((char *) symbolic + sizeof("\\??\\USB#VID_XXXX&PID_XXXX#") - 1, "%d", &serial); - if (!USB_IS_ALTUSMETRUM(vid, pid)) { - RegCloseKey(dev_key); - continue; - } /* Fetch the com port name */ port_len = sizeof (port); diff --git a/altosui/libaltos/libaltos.dylib b/libaltos/libaltos.dylib similarity index 100% rename from altosui/libaltos/libaltos.dylib rename to libaltos/libaltos.dylib diff --git a/altosui/libaltos/libaltos.h b/libaltos/libaltos.h similarity index 100% rename from altosui/libaltos/libaltos.h rename to libaltos/libaltos.h diff --git a/altosui/libaltos/libaltos.i0 b/libaltos/libaltos.i0 similarity index 100% rename from altosui/libaltos/libaltos.i0 rename to libaltos/libaltos.i0 -- 2.30.2