From b0c551aa781667812bbe26df2c1100f76b8de28d Mon Sep 17 00:00:00 2001 From: Thomas Jarosch Date: Tue, 21 Oct 2008 22:32:55 +0200 Subject: [PATCH] Added C++ examples to the build process --- configure.in | 2 +- examples/Makefile.am | 21 ++++++++++++++- examples/find_all.cpp | 62 ---------------------------------------------- examples/find_all_pp.cpp | 62 ++++++++++++++++++++++++++++++++++++++++++++++ libftdi.spec.in | 2 + 5 files changed, 84 insertions(+), 65 deletions(-) delete mode 100644 examples/find_all.cpp create mode 100644 examples/find_all_pp.cpp diff --git a/configure.in b/configure.in index 9620cff..51df22a 100644 --- a/configure.in +++ b/configure.in @@ -78,7 +78,7 @@ if test "x$ENABLE_LIBFTDIPP" = "x1"; then else AC_MSG_RESULT(no) fi -AC_SUBST(ENABLE_LIBFTDIPP) +AM_CONDITIONAL(HAVE_LIBFTDIPP, [test "x$ENABLE_LIBFTDIPP" = "x1"]) dnl check for doxygen AC_PATH_PROG(DOXYGEN, doxygen) diff --git a/examples/Makefile.am b/examples/Makefile.am index ce82a62..bd57253 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,13 +1,23 @@ METASOURCES = AUTO -INCLUDES = -I$(top_srcdir)/src +INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/ftdipp LDADD = $(top_builddir)/src/libftdi.la + +if HAVE_LIBFTDIPP +examples_libftdipp = find_all_pp \ + memorytest +else +examples_libftdipp = +endif + + bin_PROGRAMS = simple \ bitbang \ bitbang2 \ bitbang_ft2232 \ bitbang_cbus \ - find_all + find_all \ + $(examples_libftdipp) # Don't install the example files AM_LDFLAGS = -no-install @@ -18,3 +28,10 @@ bitbang2_SOURCES = bitbang2.c bitbang_ft2232_SOURCES = bitbang_ft2232.c bitbang_cbus_SOURCES = bitbang_cbus.c find_all_SOURCES = find_all.c + +if HAVE_LIBFTDIPP +find_all_pp_SOURCES = find_all_pp.cpp +find_all_pp_LDADD = $(top_builddir)/ftdipp/libftdipp.la $(LDADD) +memorytest_SOURCES = memorytest.cpp +memorytest_LDADD = $(top_builddir)/ftdipp/libftdipp.la $(LDADD) +endif diff --git a/examples/find_all.cpp b/examples/find_all.cpp deleted file mode 100644 index cc321f1..0000000 --- a/examples/find_all.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* cpp-simple.cpp - - Simple libftdi-cpp usage - - This program is distributed under the GPL, version 2 -*/ - -#include "ftdi.hpp" -#include -#include -#include -#include -using namespace Ftdi; - -int main(int argc, char **argv) -{ - // Show help - if(argc > 1) - { - if(strcmp(argv[1],"-h") == 0 || strcmp(argv[1],"--help") == 0) - { - std::cout << "Usage: " << argv[0] << " [-v VENDOR_ID] [-p PRODUCT_ID]" << std::endl; - return EXIT_SUCCESS; - } - } - - // Parse args - int vid = 0x0403, pid = 0x6010, tmp = 0; - for(int i = 0; i < (argc - 1); i++) - { - if(strcmp(argv[i], "-v") == 0) - if((tmp = strtol(argv[++i], 0, 16)) >= 0) - vid = tmp; - - if(strcmp(argv[i], "-p") == 0) - if((tmp = strtol(argv[++i], 0, 16)) >= 0) - pid = tmp; - } - - // Print header - std::cout << std::hex << std::showbase - << "Found devices ( VID: " << vid << ", PID: " << pid << " )" - << std::endl - << "------------------------------------------------" - << std::endl << std::dec; - - // Print whole list - List* list = List::find_all(vid, pid); - for(List::iterator it = list->begin(); it != list->end(); it++) - { - std::cout << "FTDI (" << &*it << "): " - << it->vendor() << ", " - << it->description() << ", " - << it->serial() - << std::endl; - - } - - delete list; - - return EXIT_SUCCESS; -} diff --git a/examples/find_all_pp.cpp b/examples/find_all_pp.cpp new file mode 100644 index 0000000..7a5a85d --- /dev/null +++ b/examples/find_all_pp.cpp @@ -0,0 +1,62 @@ +/* final_all_pp.cpp + + Simple libftdi-cpp usage + + This program is distributed under the GPL, version 2 +*/ + +#include "ftdi.hpp" +#include +#include +#include +#include +using namespace Ftdi; + +int main(int argc, char **argv) +{ + // Show help + if(argc > 1) + { + if(strcmp(argv[1],"-h") == 0 || strcmp(argv[1],"--help") == 0) + { + std::cout << "Usage: " << argv[0] << " [-v VENDOR_ID] [-p PRODUCT_ID]" << std::endl; + return EXIT_SUCCESS; + } + } + + // Parse args + int vid = 0x0403, pid = 0x6010, tmp = 0; + for(int i = 0; i < (argc - 1); i++) + { + if(strcmp(argv[i], "-v") == 0) + if((tmp = strtol(argv[++i], 0, 16)) >= 0) + vid = tmp; + + if(strcmp(argv[i], "-p") == 0) + if((tmp = strtol(argv[++i], 0, 16)) >= 0) + pid = tmp; + } + + // Print header + std::cout << std::hex << std::showbase + << "Found devices ( VID: " << vid << ", PID: " << pid << " )" + << std::endl + << "------------------------------------------------" + << std::endl << std::dec; + + // Print whole list + List* list = List::find_all(vid, pid); + for(List::iterator it = list->begin(); it != list->end(); it++) + { + std::cout << "FTDI (" << &*it << "): " + << it->vendor() << ", " + << it->description() << ", " + << it->serial() + << std::endl; + + } + + delete list; + + return EXIT_SUCCESS; +} diff --git a/libftdi.spec.in b/libftdi.spec.in index 2bc02e7..c51e097 100644 --- a/libftdi.spec.in +++ b/libftdi.spec.in @@ -47,6 +47,8 @@ rm -f $RPM_BUILD_ROOT/usr/bin/bitbang2 rm -f $RPM_BUILD_ROOT/usr/bin/bitbang_ft2232 rm -f $RPM_BUILD_ROOT/usr/bin/bitbang_cbus rm -f $RPM_BUILD_ROOT/usr/bin/find_all +rm -f $RPM_BUILD_ROOT/usr/bin/find_all_pp +rm -f $RPM_BUILD_ROOT/usr/bin/memorytest %clean rm -fr $RPM_BUILD_ROOT -- 1.7.1