Samba 3.0.22 Porting by Vidya Sagar

19
It takes almost 5~6 hours on HP e3000 969-400 machine to complete the full configuration for Samba. Upon
successful completion of configure, you will find some new Makefile or other modified files for use during build.
Analyze the file config.log for any errors during configuration. If there is any error, modify configure.in to
address the error and proceed again by running autogen.sh. Keep iteratively doing the above step till error free
configuration and note that each iteration takes 5~6 hrs on HP e3000 969-400 machine.
The file include/config.h which has been generated by configure has lot of defines which controls the
source code compilation. Typically it looks like this:
/* include/config.h. Generated by configure. */
/*
.
include/config.h.in. Generated from configure.in by autoheader. */
.
.
/* Define to 1 if you have the `shmget' function. */
#define HAVE_SHMGET 1
/* Define to 1 if you have the `shm_open' function. */
/* #undef HAVE_SHM_OPEN */
.
.
.
The steps involve in adjusting and running configure are summarized below:
Edit configure.in (or configure.ac) to adjust various flags and defines specific to MPE/iX.
Edit configure.in (or configure.ac) to enable/disable the build of various features/plug-in that
are supported/unsupported on MPE/iX.
Run autoconf and autoheader either directly or through any vendor script like autogen.sh to generate
script configure.
Gather arguments to be passed to configure and write/edit file configure.mpe for maintainability.
Run configure through configure.mpe.
Analyze config.log, newly created Makefile(s), config.h, and other files will be used during build for
correctness. Use ls –ltr in the source directory to list the files sorted according to modified time and
analyze the last few files in the list whose modification date is newer to the time when configure.mpe
had been invoked.
Now you are ready to attempt build the application on MPE/iX.
3.6 Changing the source code for MPE/iX specific known issues/limitations
One might tempt to start compiling and resolving errors which seems to be a very reasonable approach in the
beginning. But, it is always advisable and good idea to make changes the in source code to address known
issues before compilation. You may not encounter any error while compiling and definitely will get link or run time
error for these limitations. Hence modifying the source code for known limitations in advance would definitely save
your time a lot. We already have discussed a few
MPE/iX limitations and major issues previously. One should
attempt to make changes wherever these limitations apply.
For example below we address the known limit on the size of socket I/O requests by Use of
#ifdef#else#endif :
shell/iX> pwd
/SAMBA/SMB3022/src/samba-3.0.22-mpe/source
Code snippet from samba source code:
/* File: ./include/local.h */
/* maximum length in bytes of a socket I/O request */
#ifdef mpeix /* MPE limited to 30000 bytes per request */
#define MAX_SOCKET_IO_LEN 30000