Author: wyoung
Date: Fri Jan 12 08:47:29 2007
New Revision: 1358
URL: http://svn.gna.org/viewcvs/mysqlpp?rev=1358&view=rev
Log:
Updated all of the "README" type files to cover changes made since v2.1
Added:
trunk/README.examples
- copied, changed from r1355, trunk/examples/README
Removed:
trunk/examples/README
Modified:
trunk/HACKERS
trunk/README
trunk/README.mingw
trunk/README.vc
Modified: trunk/HACKERS
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/HACKERS?rev=1358&r1=1357&r2=1358&view=diff
==============================================================================
--- trunk/HACKERS (original)
+++ trunk/HACKERS Fri Jan 12 08:47:29 2007
@@ -75,51 +75,42 @@
On Manipulating the Bakefiles and Autoconf Files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- If change any of the Bakefiles (*.bkl) or the autoconf stuff
- (configure.ac and everything in the config subdir), you need to
- run the command:
+ If you only change the Bakefile (mysql++.bkl) and you're on a
+ Unixy platform, you can run the "rebake" script to regenerate
+ all the Makefiles and project files:
+
+ $ ./rebake
+
+ If you're on Windows, things are a little trickier, because
+ the native Win32 port of Bakefile is incomplete, and Bakefile
+ doesn't build correctly under Cygwin. Therefore, you need to
+ run the bakefile program directly. You'll use one of these
+ two commands, depending on which compiler you're using:
+
+ C:\> bakefile -f msvc6prj mysql++.prj
+ C:\> bakefile -f mingw -o Makefile.mingw mysql++.prj
+
+ If you're on a Unixy platform and change any of the autotools
+ input files (configure.ac and config/*), you should re-run
+ the bootstrap script. The bootstrap script also has other
+ functions:
$ ./bootstrap [pedantic] [noexamples] [configure options]
- This command rebuilds all of the project files and makefiles
- that depend on the Bakefiles and Autoconf stuff.
+ If you pass 'pedantic' to the bootstrap script, it will set
+ up the autoconf build system so it turns on all of GCC's
+ warnings and such. It's useful to build the library in this
+ mode when making changes to make sure there are no obvious
+ problems with the code.
- If you pass 'pedantic' to the bootstrap script, it will set up
- the autoconf build system so it turns on all of GCC's warnings
- and such. It's useful to build the library in this mode when
- making changes to make sure there are no obvious problems with
- the code.
+ If you pass 'noexamples', the generated Makefiles and project
+ files won't try to build any of the examples.
- If you pass 'noexamples', the examples won't be built.
-
- You can pass any of the previous options in any order. As soon as
- the bootstrap script sees an options that it doesn't understand,
- it stops processing the command line. Any subsequent options
- are passed (indirectly) to the configure script. See README.unix
- for more on configure script options.
-
- If you only change the Bakefiles (*.bkl), you can run the rebake
- script instead. This avoids rebuilding all the Autotools stuff.
-
- Bakefile doesn't work very well on Windows at the moment. There
- is a native Win32 port, but it doesn't include the bakefilize
- piece, since it depends on a Unix Bourne type shell to work.
- And you can't work around this by building Bakefile under Cygwin,
- as there seems to be a Python compatibility problem there.
- There are two ways to work around this. The first way is to
- download both the native Win32 port of Bakefile and the source
- tarball, install the Win32 port, and copy in the bakefile script
- from the source tarball. Then you can use the full Bakefile
- tool set under Cygwin, in a hybrid way. If most of your work
- isn't really Win32 specific, the way I work instead is to do
- most of the work on a better supported platform like Linux or
- OS X, test there, and only copy it over for final testing and
- tweaking on the Windows side. This works because you build the
- Win32 project files using Bakefile over on the other platform,
- so you don't have to mess with Bakefile's oddities under Win32.
- I use the first method when I need to do a lot of work on the
- Win32 side, so the constant source tree copying is too much of
- an overhead.
+ You can pass any of the previous options in any order.
+ As soon as the bootstrap script sees an option that it
+ doesn't understand, it stops processing the command line.
+ Any subsequent options are passed to the configure script.
+ See README.unix for more on configure script options.
Maintaining a Private CVS Repository
@@ -147,4 +138,3 @@
$ cvs rdiff -ru mysql++-1_7_35 -r mysql++-1_7_35_equal_list \
$(cat CVS/Repository) > equal_list.patch
-
Modified: trunk/README
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/README?rev=1358&r1=1357&r2=1358&view=diff
==============================================================================
--- trunk/README (original)
+++ trunk/README Fri Jan 12 08:47:29 2007
@@ -16,28 +16,45 @@
On Unixy systems (Linux, Mac OS X, Cygwin, "real" Unix...),
the MySQL development files are installed if you build MySQL
from source. If you installed MySQL as a binary package,
- then the development files are often packaged separately from
- the MySQL server itself. It's common for the package to be
- called "MySQL-devel" or something like that.
+ then the development files are often packaged separately
+ from the MySQL server itself. It's common for the package
+ containing the development files to be called something like
+ "MySQL-devel".
- If you're building on Windows with Visual C++, you can install
- the native Win32 port of MySQL from mysql.com. You should do
- a custom install, as the MySQL++ build system expects MySQL to
- be installed in c:\mysql, and not the directory-du-jour used
- by the changing installer versions.
+ If you're building on Windows with Visual C++ or MinGW, you
+ need to install the native Win32 port of MySQL from mysql.com.
+ The development files are only included with the "complete"
+ version of the MySQL installer, and some versions of this
+ installer won't actually install them unless you do a custom
+ install. Another pitfall is that MySQL++'s project files
+ assume that you've installed the current General Availability
+ release of MySQL (v5.0 right now) and it's installed in the
+ default location. If you've installed a different version,
+ or if MySQL Inc. changes the default location (which they
+ seem to do regularly!) you'll have to adjust the link and
+ include file paths in the project settings.
-Additional Files to Read
-~~~~~~~~~~~~~~~~~~~~~~~~
- The README.* files have information specific to each of the
- major platforms we support.
+Additional Things to Read
+~~~~~~~~~~~~~~~~~~~~~~~~~
+ Each major platform we support has a dedicated README.* file
+ for it containing information specific to that platform.
+ Please read it.
For authorship information, see the CREDITS file.
For license information, see the LICENSE file.
- Send feedback and questions to the MySQL++ mailing list:
-
+ If you want to change MySQL++, see the HACKERS file.
+
+ You should have received a user manual and a reference manual
+ with MySQL++. If not, you can read a recent version online:
+
+ http://tangentsoft.net/mysql++/doc/
+
+ Search the MySQL++ mailing list archives if you have more
+ questions:
+
http://lists.mysql.com/plusplus/
@@ -67,10 +84,11 @@
Example Programs
~~~~~~~~~~~~~~~~
- You may want to try out the programs in the examples subdirectory
- to ensure that the MySQL++ API and your MySQL database are both
- working properly. Also, these examples give many examples of the
- proper use of MySQL++. See examples/README for further details.
+ You may want to try out the programs in the examples
+ subdirectory to ensure that the MySQL++ API and your
+ MySQL database are both working properly. Also, these
+ examples give many examples of the proper use of MySQL++.
+ See README.examples for further details.
Unsupported Compliers
@@ -95,8 +113,8 @@
If You Want to Hack on MySQL++...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- If you intend to change the library or example code, please read
- the HACKERS file.
+ If you intend to change the library or example code, please
+ read the HACKERS file.
If you want to change the user manual, read doc/userman/README.
Copied: trunk/README.examples (from r1355, trunk/examples/README)
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/README.examples?p2=trunk/README.examples&p1=trunk/examples/README&r1=1355&r2=1358&rev=1358&view=diff
==============================================================================
--- trunk/examples/README (original)
+++ trunk/README.examples Fri Jan 12 08:47:29 2007
@@ -1,11 +1,11 @@
Building the Examples
~~~~~~~~~~~~~~~~~~~~~
- If you are seeing these examples in a subdirectory of the MySQL++
- source tarball, the example programs should have been built when
- you built the library. If you change any example code, just say
- 'make' to rebuild the program.
-
- The examples are built against the headers and library in ../lib.
+ If you're installing MySQL++ from the source tarball, the
+ example programs should have been built when you built the
+ library. If you change any example code, just say 'make'
+ at the top level MySQL++ directory to rebuild the examples.
+ The examples are built against the headers and library in
+ the lib subdirectory.
If these example files were installed on your system as part
of the -devel RPM, copy all the files to a directory you can
@@ -41,6 +41,11 @@
"store" query. See the user manual for the
difference between these.
+ simple3: Similar to simple2, but uses a different
+ querying method, the "use" query, which is
+ more memory efficient but requires that you
+ process all results in order.
+
fieldinf1: Shows how to get information about the fields in
a result set. (Types, etc.)
Modified: trunk/README.mingw
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/README.mingw?rev=1358&r1=1357&r2=1358&view=diff
==============================================================================
--- trunk/README.mingw (original)
+++ trunk/README.mingw Fri Jan 12 08:47:29 2007
@@ -2,11 +2,10 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Before you can build MySQL++ with MinGW, you will need to
create a MinGW-compatible import library for MySQL's C API
- library. Assuming you installed MySQL in c:\mysql and MySQL++
- in c\mysql++, the commands to do this are:
+ library. Using the current default install path for MySQL and
+ assuming MySQL++ is in c\mysql++, the commands to do this are:
- mkdir c:\mysql\lib\opt
- cd c:\mysql\lib\opt
+ cd C:\Program Files\MySQL\MySQL Server 5.0\lib\opt
dlltool -k -d c:\mysql++\libmysqlclient.def -l libmysqlclient.a
@@ -20,11 +19,22 @@
make, not the Cygwin or MSYS versions. This is in order to
get proper path separator handling.
- If you didn't install MySQL in c:\mysql, it's probably simplest
- to just change the Makefile.mingw files. Theoretically you
- could adjust the Bakefiles instead, but due to the way we're
- using Bakefile, it's a little difficult to rebuild Makefiles
- on Windows right now.
+ If MySQL isn't in C:\Program Files\MySQL\MySQL Server 5.0\ you have
+ two options:
+
+ - The simplest is to edit Makefile.mingw. This is
+ a generated file, but if that's all the only change
+ to MySQL++ you need, it works fine.
- If you want to change the install location, that is in
- install.bat.
+ - If you're doing deeper work on MySQL++, you
+ should make your changes in mysql++.bkl instead.
+ Then to generate Makefile.mingw from that file,
+ you will need the Win32 port of Bakefile from
+ http://bakefile.sf.net/ The command to do that is:
+
+ bakefile -f mingw -o Makefile.mingw mysql++.bkl
+
+ Once the library is built and you're satisfied that it's working
+ correctly, you can run the install.bat file at the project
+ root to automatically install the library files and headers in
+ subdirectories under c:\mysql++.
Modified: trunk/README.vc
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/README.vc?rev=1358&r1=1357&r2=1358&view=diff
==============================================================================
--- trunk/README.vc (original)
+++ trunk/README.vc Fri Jan 12 08:47:29 2007
@@ -7,16 +7,30 @@
Building the Library and Example Programs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Due to a limitation in Bakefile (the tool we use to generate
- the project files) there are two different workspaces (a.k.a.
- "solutions"): one in the lib subdirectory and one in the
- examples subdirectory. You only have to build the project
- in the lib subdirectory, but you are encouraged to also build
- the examples, as they are good tests of whether your library
- is built and working correctly.
+ As of MySQL++ v2.2, there is only one set of project files in
+ the top level directory for MySQL++. We ship VC++6 project
+ files (.dsw and .dsp instead of .sln and .vcproj) due to a
+ limitation of the version of Bakefile we're using to generate
+ the project files. Just let Visual Studio convert these to
+ the new format.
- If you didn't install MySQL in c:\mysql, you will have to change
- the project options.
+ If MySQL isn't in C:\Program Files\MySQL\MySQL Server 5.0\
+ you need to change the project file settings. You have
+ two options:
+
+ - The simplest is to change the link and include
+ file directories in the project settings directly.
+ Although it's generally bad practice to change
+ generated files, if that's all the only change to
+ MySQL++ you need, this is harmless.
+
+ - If you're doing deeper work on MySQL++, you
+ should probably be changing mysql++.bkl instead.
+ Then to generate Visual C++ project files from that
+ file, you will need the Win32 port of Bakefile from
+ http://bakefile.sf.net/ The command to do that is:
+
+ bakefile -f msvc6prj mysql++.bkl
Once the library is built and you're satisfied that it's working
correctly, you can run the install.bat file at the project
@@ -28,28 +42,34 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(This material is based on a post by Steve Hulet <[EMAIL PROTECTED]>)
- Fire up VS .NET, create a Blank Solution. Add a new project.
- Choose Empty Project (.NET) under Visual C++ Projects. Add a
- .cpp file to the solution so it _knows_ it's a C/C++ solution.
- Go to the solution Property Pages and make the following changes.
- (Where it doesn't specify Debug or Release, make the change to
- both configurations.)
+ Fire up Visual Studio and create a Blank Solution. Add a
+ new project. Choose Empty Project (.NET) under Visual C++
+ Projects. Add a .cpp file to the solution so it _knows_ it's a
+ C/C++ solution. Go to the solution Property Pages and make the
+ following changes. (Where it doesn't specify Debug or Release,
+ make the change to both configurations.)
o Under Configuration Properties::General change "Use
Managed Extensions" to "No"
- o Under C/C++::General add to "Additional Include
- Directories": c:\mysql++\include, c:\mysql\include
+ o Under C/C++::General::Additional Include Directories:
+
+ C:\Program Files\MySQL\MySQL Server 5.0\include,
+ C:\mysql++\include
o Under C/C++::Code Generation change "Runtime Library" to
"Multi-threaded Debug DLL (/MDd)" for the Debug
configuration. For the Release configuration, make it
"Multi-threaded DLL (/MD)".
- o Under Linker::General add to "Additional Library
- Directories": "c:\mysql\lib\debug, c:\mysql++\vc\debug"
- for the Debug configuration. For the Release configuration,
- make it "c:\mysql\lib\opt, c:\mysql++\vc\release"
+ o Under Linker::General::Additional Library Directories,
+ in the Debug configuration:
+
+ C:\Program Files\MySQL\MySQL Server 5.0\lib\debug,
+ C:\mysql++\vc\debug
+
+ For the Release configuration, make it the same, but
+ change the 'debug' directory names to 'opt'.
o Under Linker::Input add to "Additional Dependencies":
"libmysql.lib wsock32.lib mysqlpp.lib"
@@ -59,7 +79,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Especially if you have linking problems, make sure your project
settings match the above. Visual C++ is very picky about things
- like run time library settings. If you still can't get things
- going, try running one of the example programs. If it works,
- the problem is likely in your project settings, not in MySQL++.
+ like run time library settings. When in doubt, try running one
+ of the example programs. If it works, the problem is likely in
+ your project settings, not in MySQL++.
_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits