Permalink
Browse files

Prepare for first ./configure push

  • Loading branch information...
MarkDelany committed Oct 15, 2011
1 parent 6dc767f commit ccf4add60912774193f8bb91cc85827ecaab6232
Showing with 5,235 additions and 604 deletions.
  1. +100 −5 HOWTO.build.txt
  2. +788 −41 Makefile
  3. +550 −47 clientServiceLibrary/Makefile
  4. +2 −2 clientServiceLibrary/clientImpl.h
  5. +2 −2 clientServiceLibrary/clientRequestImpl.h
  6. +2 −2 clientServiceLibrary/decodePacket.h
  7. +2 −2 clientServiceLibrary/faultImpl.h
  8. +2 −2 clientServiceLibrary/perCallerClient.h
  9. +2 −2 clientServiceLibrary/requestImpl.h
  10. +2 −2 clientServiceLibrary/requestQueue.h
  11. +2 −2 clientServiceLibrary/serviceImpl.h
  12. +2 −2 clientServiceLibrary/timeoutClock.h
  13. +579 −31 commands/Makefile
  14. +479 −24 commonLibrary/Makefile
  15. +1 −1 commonLibrary/rateLimit.cc
  16. +62 −0 configure.ac
  17. +2 −2 include/global.h
  18. +2 −2 include/hashPointer.h
  19. +2 −2 include/hashString.h
  20. +2 −2 include/hash_mapWrapper.h
  21. +2 −2 include/istreamWrapper.h
  22. +2 −2 include/lineToArgv.h
  23. +2 −2 include/localeWrapper.h
  24. +2 −2 include/misc.h
  25. +2 −2 include/netString.h
  26. +2 −2 include/ostreamWrapper.h
  27. +2 −2 include/pluton/client.h
  28. +2 −2 include/pluton/clientEvent.h
  29. +2 −2 include/pluton/clientRequest.h
  30. +2 −2 include/pluton/common.h
  31. +4 −4 include/pluton/fault.h
  32. +2 −2 include/pluton/service.h
  33. +2 −2 include/processExitReason.h
  34. +2 −2 include/rateLimit.h
  35. +2 −2 include/reportingChannel.h
  36. +2 −2 include/serviceAttributes.h
  37. +2 −2 include/serviceKey.h
  38. +2 −2 include/shmLookup.h
  39. +2 −2 include/shmLookupPrivate.h
  40. +2 −2 include/shmService.h
  41. +2 −2 include/stdintWrapper.h
  42. +2 −2 include/streambufWrapper.h
  43. +2 −2 include/util.h
  44. +2 −2 include/version.h
  45. +0 −57 install.sh
  46. +0 −60 make.config
  47. +547 −30 manager/Makefile
  48. +2 −2 manager/bitmask.h
  49. +1 −1 manager/commandPort.cc
  50. +2 −2 manager/commandPort.h
  51. +2 −2 manager/configParser.h
  52. +2 −2 manager/debug.h
  53. +2 −2 manager/listenBacklog.h
  54. +2 −2 manager/listenInterface.h
  55. +2 −2 manager/logging.h
  56. +2 −2 manager/manager.h
  57. +2 −2 manager/pidMap.h
  58. +2 −2 manager/process.h
  59. +2 −2 manager/service.h
  60. +2 −2 manager/serviceConfig.h
  61. +2 −2 manager/threadedObject.h
  62. +0 −5 regressionTests/Makefile
  63. +607 −33 services/Makefile
  64. +342 −57 testPrograms/Makefile
  65. +364 −6 wrappers/java/Makefile
  66. +0 −16 wrappers/java/jar/Makefile
  67. +0 −43 wrappers/java/jni/Makefile
  68. +351 −39 wrappers/perl/Makefile
  69. +362 −6 wrappers/php/Makefile
View
@@ -1,10 +1,105 @@
-The build process is currently pretty crude and probably only works on
-Linux. One task should be to make this work under GNU configure.
+0. To compile and install is the usual:
-1. Download and compile state-threads.sourceforge.net
+ ./configure && make && sudo make install
-2. Edit make.config to set the various paths
+ If configure fails, it probably means that you are missing
+ prerequisite packages. If the compile fails, file a bug report.
-3. From the top level directory run "make clean all"
+ To see if it looks like it's going to work, you can do a trial run
+ from the build directory.
+ a) Create a configuration for the echo service:
+ echo 'exec /usr/local/pluton/libexec/echo_service' >/tmp/system.echo.0.raw
+
+ b) Start the manager:
+
+ cd /tmp
+ /usr/local/pluton/bin/plutonManager
+
+ c) From another shell, try and ping the "echo" service:
+
+ /usr/local/pluton/bin/plPing -L /tmp/lookup.map -c5
+
+ The output should be something like this:
+
+ 0 bytes: seq=1/0 time=0.004629
+ 0 bytes: seq=2/0 time=0.000105
+ 0 bytes: seq=3/0 time=0.000070
+ 0 bytes: seq=4/0 time=0.000073
+ 0 bytes: seq=5/0 time=0.000111
+ plPings: 5 Read=0 Write=0 Min: 0.000070 Max: 0.004629 Avg: 0.000997 Elapse: 0.4988
+
+
+1. Prerequisite Packages
+
+ a) Pluton needs the state threads library (libst).
+
+ b) If you want to use the "curl" service you'll need to install the
+ curl library (libcurl). (currently the build insists on this
+ package as "curl" is the archetypal service).
+
+ c) If you want to run the manager under damontools, then you need
+ to install that package too.
+
+
+2. From sources:
+
+ a) http://state-threads.sourceforge.net/
+
+ Depending on whether and where you install st.h and libst.* you
+ make have to tell ./configure where to find it by setting the
+ shell variables STATETHREADS_CFLAGS and STATETHREADS_LIBS to
+ something like:
+
+ STATETHREADS_CFLAGS="-I /usr/local/include" \
+ STATETHREADS_LIBS="-L/usr/local/lib -lst" \
+ ./configure
+
+ b) http://curl.haxx.se/libcurl/
+
+ Depending on whether and where you install curl you
+ make have to tell ./configure where to find it by setting the
+ shell variables LIBCURL_CFLAGS and LIBCURL_LIBS to
+ something like:
+
+ LIBCURL_CFLAGS="-I /usr/local/include" \
+ LIBCURL_LIBS="-L/usr/local/lib -lcurl" \
+ ./configure
+
+ c) http://cr.yp.to/daemontools.html
+
+
+3. FreeBSD (7, 8)
+
+ As root:
+
+ a) cd /usr/ports/devel/st && make install
+
+ Note. At the time of writing the ports version of st has a bug -
+ buthopefully that is fixed by the time you read this. If not,
+ use the "From sources" approach.
+
+ b) cd /usr/ports/ftp/curl && make install
+ c) cd /usr/ports/sysutils/daemontools && make install
+
+
+4. OS/X (10.6, 10.7)
+
+ a) The state threads library has to be installed from sources.
+
+ b) The libcurl library is installed as part of the base package.
+
+ c) If you use the "port" command (see http://www.macports.org),
+ then the install command is:
+
+ sudo port install daemontools
+
+ otherwise install from sources.
+
+
+5. Debian (6.0.2/squeeze)
+
+ a) sudo apt-get install libst-dev
+ b) sudo apt-get install libcurl3-dev
+ c) apt-get install daemontools daemontools-run
Oops, something went wrong.

0 comments on commit ccf4add

Please sign in to comment.