aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/lib/berkeley-db-1.xx/PORT/README
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2022-06-19 19:47:51 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2022-06-19 19:47:51 +0530
commit4fd287655a72b9aea14cdac715ad5b90ed082ed2 (patch)
tree65d393bc0e699dd12d05b29ba568e04cea666207 /circuitpython/lib/berkeley-db-1.xx/PORT/README
parent0150f70ce9c39e9e6dd878766c0620c85e47bed0 (diff)
add circuitpython code
Diffstat (limited to 'circuitpython/lib/berkeley-db-1.xx/PORT/README')
-rw-r--r--circuitpython/lib/berkeley-db-1.xx/PORT/README131
1 files changed, 131 insertions, 0 deletions
diff --git a/circuitpython/lib/berkeley-db-1.xx/PORT/README b/circuitpython/lib/berkeley-db-1.xx/PORT/README
new file mode 100644
index 0000000..6d47281
--- /dev/null
+++ b/circuitpython/lib/berkeley-db-1.xx/PORT/README
@@ -0,0 +1,131 @@
+# @(#)README 8.6 (Berkeley) 6/20/94
+
+This is the area for building the libdb library. There are a number
+of porting directories, for various architecture/OS combinations. Pick
+the one that's closest to yours and try "make". For the rest of this
+file, I'll use "MACH" as a fake architecture/OS name.
+
+To PORT to a new system, create the following subdirectories and
+symbolic links.
+
+ mkdir MACH (for example: mkdir sunos.4.0)
+ cd MACH
+ cp ../Makefile .
+ chmod 664 Makefile
+ ln -s ../clib .
+ mkdir include
+ ln -s include sys
+ cd include
+ ln -s ../../include/*.h .
+ rm compat.h
+ cp ../../include/compat.h .
+ chmod 664 compat.h
+ cd ..
+
+The basic idea is that you now have a local area that you can modify.
+In particular, you have local copies of the Makefile and the include
+file compat.h. Read through the Makefile and compat.h and make whatever
+changes are appropriate to your system. If there's an architecture
+that's close to yours, you probably should diff the Makefile and
+compat.h in that tree against the standard ones and see what changes
+were necessary, as they're probably necessary for you as well. Then,
+enter "make" and see what happens!
+
+There are several subroutines that are found in POSIX 1003.2, ANSI
+C, or 4.4BSD that you may not have. Once you get libdb.a to compile,
+go through the list of undefined routines and add entries to the MISC
+line in the Makefile as necessary.
+
+If you have to add some functions that are missing (and which aren't
+in the PORT/clib directory), please don't add them in the PORT/clib
+directory. Add them in a MACH/local directory, and add lines of the
+form:
+
+ function.o: local/function.o
+ ${CL} -Ilocal local/function.o
+
+to your local Makefile.
+
+Hopefully, over time, we'll develop a set of system directories that
+are known to work. If you send me the changes that were necessary to
+make your system work, this will happen much more quickly.
+
+In some of the system directories, you'll see a file named OTHER_PATCHES.
+This is a set of patches which you'll have to make from the top-level db
+directory to get libdb.a to run on this system:
+
+ cd ..
+ patch < PORT/MACH/OTHER_PATCHES
+
+If patch prompts you for the name of the file to modify (some versions
+of patch don't figure it out on their own) use the file name which patch
+displays.
+
+Some knobs you may have to turn:
+
+In include/db.h:
+ Before attempting to build libdb, you should look through the
+ db.h file, and adjust it as necessary for your system. The
+ only adjustments that you should need to make are for the
+ fixed sized typedef's at the top of the file. Make sure they're
+ right for your system.
+
+In include/compat.h:
+ Before attempting to build libdb, you should look through the
+ compat.h file, and adjust it as necessary for your system.
+ It's possible to use the #ifndef construct to figure out if a
+ #ifdef has been set, but C provides no similar method to figure
+ out if a typedef has been done. Your compile errors should
+ give you a good indication of which ones you need.
+
+You may see warning messages about illegal pointer combinations. You may
+also see lots of warning messages about #define's being redefined. These
+can mostly be ignored. I usually ignore warning messages until something
+doesn't work. Some systems produce thousands of lines of useless warnings,
+bless their little hearts.
+
+The other parts of the PORT directory are as follows:
+
+ The directory PORT/clib is a set of functions that the 4.4BSD
+ C library had and which your system may not have. They are
+ added to the MISC line of the Makefile if they aren't defined
+ when you try and load libdb.a.
+
+ The directory PORT/include is header files that the 4.4BSD
+ system had which your system may not have. There is also
+ one really important extra one, named compat.h, which is a
+ set of compatibility work-arounds that you'll almost certainly
+ have to copy and modify for a new system.
+
+ The symbolic link PORT/sys points to the PORT/include directory
+ so that includes of the form <sys/include.h> work.
+
+Some of the more common portability problems:
+
+ If you don't have:
+
+ memmove(3): add memmove.o
+ mkstemp(3): add mktemp.o
+
+ ... to the MISC line in the Makefile.
+
+ If you don't have snprintf/vsnprintf(3), add snprintf.o to the
+ MISC line in the Makefile. This workaround depends on your
+ system having vsprintf(3) -- if you don't, there's no workaround
+ other than changing the source code to not use the snprintf calls.
+ If you have to make that change, check to see if your vsprintf
+ returns a length or a char *; if it's the latter, make sure you
+ set VSPRINTF_CHARSTAR in the MACH/include/compat.h file.
+
+Installing the DB library:
+
+ The Makefile builds a C library named libdb.a. This file needs
+ to be installed in a place where the loader will automatically
+ look for it (or, if you're building it for a single project,
+ wherever that project's Makefile loads it from).
+
+ In addition, the header file PORT/include/db.h must be copied to
+ a directory (often /usr/include/) where programs that use the
+ db package can include it in their source. (If you intend to use
+ the ndbm interface to libdb, you'll need to copy the header file
+ PORT/include/ndbm.h as well.)