From: Marek P. <ma...@us...> - 2001-11-21 22:32:10
|
Update of /cvsroot/javaprofiler/library In directory usw-pr-cvs1:/tmp/cvs-serv12170 Modified Files: README config.mk Log Message: some parts completely rewritten; changes in communication interface to make it faster; ported to linux Index: README =================================================================== RCS file: /cvsroot/javaprofiler/library/README,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -r1.28 -r1.29 *** README 2001/09/27 10:07:28 1.28 --- README 2001/11/21 22:31:37 1.29 *************** *** 17,20 **** --- 17,22 ---- 4. DOWNLOAD + 4.1 Linux distributions + 5. COMPILATION *************** *** 46,49 **** --- 48,52 ---- * Microsoft Windows 9x * SunOS 5.8 + * Linux 1.2 Programming language *************** *** 51,84 **** The library sources are written in plain C++. On Win32 platform, Microsoft Visual C/C++ or Borland C/C++ 5.5.1 can be used. ! On Unix platforms (in this time, Solaris only) GNU C/C++ 3.0 _MUST_ ! be used. Genuine Sun Workshop Compilers had problems with creating ! the dynamic library under SunOS. So had the elder versions ! of GNU C/C++. * Microsoft Visual C/C++ 6.0 * Borland C/C++ 5.5.1 ! * GNU C/C++ 3.0 Client part of communication interface for accessing data of profiled JVM (gained and stored inside the structures of the library) is written in Java. Because of stability and standard Sun's JVM is used. ! * JDK 1.4.0 beta2 (JDK 1.3.1 and later) 1.3 Additional tools ! These tools are not necessary for building of profiler dynamic library. Project documentation is written directly to the sources. So all classes, methods and class members are well-documented. For creating ! of project documentation in HTML (or PDF) format, DOXYGEN (for C++ ! and/or Java sources) is used. GRAPHVIZ can be used to generate ! graphs for HTML doc (optional, default is off). ! * Doxygen 1.2.10 ! * Graphviz 1.7.3 [optional] Data flows, schemes and relations between structures are described ! using Microsoft Visio 2000. These schemes are exported to JPEG format for those who do not have this software. --- 54,91 ---- The library sources are written in plain C++. On Win32 platform, Microsoft Visual C/C++ or Borland C/C++ 5.5.1 can be used. ! On Unix platforms (in this time, Solaris and Linux only) GNU C/C++ 3.0.2 ! or later _MUST_ be used. Genuine Sun Workshop Compilers had problems ! with creating the dynamic library under SunOS. So had the elder versions ! of GNU C/C++. There were some problems with generated binary code ! on Linux platform, too. Please be sure you use GCC 3.0.2 or later. * Microsoft Visual C/C++ 6.0 * Borland C/C++ 5.5.1 ! * GNU C/C++ 3.0.2 Client part of communication interface for accessing data of profiled JVM (gained and stored inside the structures of the library) is written in Java. Because of stability and standard Sun's JVM is used. + + * JDK 1.4.0 beta3 ! Nowadays, client's code is in separate CVS module called "jpiimpl". ! You do not need this code to compile the dynamic library, but you ! need it for shared memory communication support in Java client's code. ! Read a README file in src2/ subdirectory before compiling. 1.3 Additional tools ! These tools are not necessary for building profiler dynamic library. Project documentation is written directly to the sources. So all classes, methods and class members are well-documented. For creating ! project documentation in HTML (or PDF) format, DOXYGEN (for C++ ! and/or Java sources) is used. ! * Doxygen 1.2.11.1 Data flows, schemes and relations between structures are described ! using Microsoft Visio 2000. These schemes are exported to PDF format for those who do not have this software. *************** *** 94,129 **** 2. DIRECTORY STRUCTURE ! config/ configuration files for various platforms/compilers ! demo/ demos, examples of use of Java interface IProf ! doc/ documentation (most of it is generated during compilation) ! doc/interface/ project documentation of sources ! of Java interface to the library ! doc/library/ project documentation of sources ! of the profiler dynamic library ! doc/native/ project documentation of sources ! of native Java classes of the interface ! doc/visio/ data flows, schemes and relations between ! structures inside of profiler dynamic library ! doc/visio/pdf/ Visio files exported to PDF format ! src/ C++ sources of profiler dynamic library ! src2/ Java sources of the low-level interface to this library 3. UNSUPPORTED PLATFORMS Sun's JDK for Linux is under high development and JVMPI part is a bit unstable, some features are not implemented or have strange behaviour. The sources can be compiled with no problems under Linux but we do not ! guarantee the functionality. Sources should compile on Sun's SunOS 5.7, too. You can use the same --- 101,143 ---- 2. DIRECTORY STRUCTURE ! config/ configuration files for various platforms/compilers ! demo/ demos, examples of use of Java interface IProf ! doc/ documentation (most of it is generated during compilation) ! doc/interface/ project documentation of sources ! of Java interface for the library ! doc/library/ project documentation of sources ! of the profiler dynamic library ! doc/native/ project documentation of sources ! of native Java classes of the interface ! doc/visio/ data flows, schemes and relations between ! structures inside of profiler dynamic library ! doc/visio/pdf/ Visio files exported to PDF format ! src/ C++ sources of profiler dynamic library ! src2/ Java sources of the low-level interface to this library ! (please see README file in src2/ subdirectory for more info) + templates/ Copyright templates for source files + 3. UNSUPPORTED PLATFORMS + This library was only tested on platforms where JDK with JVMPI interface + exists. Other platforms are generally unsupported, the library can run + on them with no guarantee. + Sun's JDK for Linux is under high development and JVMPI part is a bit unstable, some features are not implemented or have strange behaviour. The sources can be compiled with no problems under Linux but we do not ! guarantee the functionality. Tests seemed okay. Sources should compile on Sun's SunOS 5.7, too. You can use the same *************** *** 139,155 **** * Microsoft Windows 9x/NT4/2000 (www.microsoft.com) * SunOS 5.8 (www.sun.com) [for free] * Microsoft Visual C/C++ 6.0 (www.microsoft.com) * Borland C/C++ 5.5.1 (www.borland.com) [for free] ! * GNU C/C++ 3.0 (gcc.gnu.org) [for free] ! * JDK 1.4.0 beta2 (java.sun.com) [for free] * Microsoft Visio 2000 (www.microsoft.com) ! * Doxygen 1.2.10 (www.doxygen.org) [for free] ! * Graphviz 1.7.3 (www.graphviz.org) [for free] * GNU make 3.7x (www.gnu.org) [for free] 5. COMPILATION --- 153,180 ---- * Microsoft Windows 9x/NT4/2000 (www.microsoft.com) * SunOS 5.8 (www.sun.com) [for free] + * Linux (www.linux.org) [for free] * Microsoft Visual C/C++ 6.0 (www.microsoft.com) * Borland C/C++ 5.5.1 (www.borland.com) [for free] ! * GNU C/C++ 3.0.2 (gcc.gnu.org) [for free] ! * JDK 1.4.0 beta3 (java.sun.com) [for free] * Microsoft Visio 2000 (www.microsoft.com) ! * Doxygen 1.2.11.1 (www.doxygen.org) [for free] * GNU make 3.7x (www.gnu.org) [for free] + 4.1 Linux distributions + + There are a lot of linux distributions, you can use one + of the following links or choose another distribution. + + * RedHat (www.redhat.com) + * Mandrake (www.mandrake.com) + * Debian (www.debian.org) + + These are the most known. + 5. COMPILATION *************** *** 182,186 **** doc\ project documentation in HTML format - 5.2 Unix platforms --- 207,210 ---- *************** *** 201,205 **** doc/ - 5.3 Make rules --- 225,228 ---- *************** *** 211,221 **** where $(MAKE) is appropriate "make" program for given platform/compiler - - - 5.4 Appendices - - Graphviz executables must be in your PATH to generate HTML documentation - correctly. See PATH variable for Win32/UNIX platforms. Graphviz is not - used by default. --- 234,237 ---- Index: config.mk =================================================================== RCS file: /cvsroot/javaprofiler/library/config.mk,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** config.mk 2001/09/27 10:07:28 1.25 --- config.mk 2001/11/21 22:31:37 1.26 *************** *** 1,5 **** ################################################################ # configuration file ! # SunOS 5.8, SPARC, GNU C/C++ 3.0 (using GNU make 3.7x) # # author: Marek Przeczek --- 1,5 ---- ################################################################ # configuration file ! # Linux, x86, GNU C/C++ 3.0.2 # # author: Marek Przeczek *************** *** 15,21 **** # do not use "\" as a last character in path definition ! COMPILER_PATH = /home/mprz7483/BIG/gcc-3.0 ! JAVA_PATH = /home/mprz7483/BIG/j2sdk1_3_1 ! DOXYGEN_PATH = /opt/doxygen-1.2.10 CCC = "$(COMPILER_PATH)/bin/g++" --- 15,22 ---- # do not use "\" as a last character in path definition ! COMPILER_PATH = /home2/mm/gcc-3.0.2 ! #COMPILER_PATH = /usr ! JAVA_PATH = /home2/mm/j2sdk1.4.0 ! DOXYGEN_PATH = /home2/mm CCC = "$(COMPILER_PATH)/bin/g++" *************** *** 37,55 **** # modify as needed ! DEFINES = -DSUNOS -fpic -D_REENTRANT ! INCLUDES = -I$(JAVA_PATH)/include -I$(JAVA_PATH)/include/solaris # debug or not ? # choose one of following two possibilities ! #FLAGS = -O0 -D_DEBUG ! FLAGS = -O3 -DNDEBUG -fno-rtti -fno-exceptions LDFLAGS = $(DEFINES) -shared -o $(PROF_LIBRARY_NAME) ! LDLIBS = -lsocket -lpthread -lthread -lnsl LDFLAGS2 = $(DEFINES) -shared -o $(NATIVE_LIBRARY_NAME) ! LDLIBS2 = -lsocket CPPFLAGS = -c $(FLAGS) $(DEFINES) $(INCLUDES) --- 38,58 ---- # modify as needed ! DEFINES = -DLINUX -DUSE_RAW_MONITORS -DUSE_ALLOCATOR -fpic ! #DEFINES = -DLINUX -fpic ! INCLUDES = -I$(JAVA_PATH)/include -I$(JAVA_PATH)/include/linux # debug or not ? # choose one of following two possibilities ! FLAGS = -O0 -D_DEBUG ! #FLAGS = -O0 -D_DEBUG -DPROF_ERROR_ON ! #FLAGS = -O3 -DNDEBUG -fno-rtti -fno-exceptions LDFLAGS = $(DEFINES) -shared -o $(PROF_LIBRARY_NAME) ! LDLIBS = LDFLAGS2 = $(DEFINES) -shared -o $(NATIVE_LIBRARY_NAME) ! LDLIBS2 = CPPFLAGS = -c $(FLAGS) $(DEFINES) $(INCLUDES) |