[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: different CVS_SERVER for different hosts

From: Derek Robert Price
Subject: Re: different CVS_SERVER for different hosts
Date: Fri, 31 Oct 2003 10:37:02 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1

Hash: SHA1

Paul Edwards wrote:

|>would know that the CygWin procedure was the same as the UNIX procedure,
|>as that is one of CygWin's design goals.  It might deserve a note or two
|>that it works.
|I have the Cygwin compiler, I don't know that I have any of the
|other stuff.
|I know I can compile C programs using the GCC compiler that
|came with Cygwin.
|The Unix procedure is to go ./configure.
|Even though I have the cygwin compiler, I can't run ./configure,
|because I am in a DOS shell.  I can run a batch file though.

I run it from Bash.

|However, it just so happens that I happen to have bash
|installed too.  But when I go
|it says "no such command" or somesuch
|But I just had a brainwave.
|I typed in "sh ./configure" and then it all started up.
|However, I notice that there are a lot of cases of
|"File not found" etc.

I can't diagnose your problem without more information.  I have a full
Cygwin install here, but Bash, the development tools, and the shell
tools (sed, diff, awk, etc.) should be sufficient.

|>up an interesting point.  Compiling is now mostly dependant on running
|>configure to set the variables, but the code could be designed to be
|>more biased towards POSIX - so that it would compile _without_ running
|>configure on a pure POSIX system.
|Yes, correct.  That's exactly what I expect as part of
|portability, not a shell script which doesn't conform to
|either C89 nor POSIX.1.  C is meant to be the portable
|language, not shell script!!!  C does in fact go a long way
|towards portability.  But shell scripts completely
|obliterate that progress!
|I would expect something like rcs to compile on any C89
|platform.  Just by typing in "bcc" or "wcl" or any of the
|hundreds of 100% ISO conforming compilers.
|I would expect CVS, since it is not really practical to make
|it C89 compliant, but it is practical to make it Posix compliant,
|since the only thing that CVS should need beyond C89 is
|directory operations.  At least to work locally.
|Yuck!  Bash has just reported to me that it needs a default
|text editor.  No it shouldn't!  I don't mind if CVS gives me
|an error when I do a commit, saying "-m is mandatory on
|your system", but I do mind when it requires me to have
|some callable editor.  This is another thing that takes
|away the portability.

If you define editor with ./configure --with-editor=/dev/null or
anything else you feel like, configure will only warn you that it
doesn't exist.  The default case dies so that we are sure you knew you
were compiling without an editor.

The executable itself will die when it can't find the default editor you
set, but $EDITOR, -m, and -e should still work fine.

|>configure has always worked fine for me, so I'd never really considered
|>it, but it is certainly an interesting concept.  Feel free to submit
|Ok, I will see if I can submit a config.h that basically deletes
|anything that is not POSIX.

Submitting a config.h is not the most elegant solution.  It would
require extra documentation and users would need to copy the config.h
into a usable location to compile.  configure generates a config.h from
config.h.in and config.h.in is generated directly from configure.   The
most elegant solution is to patch the CVS code to default to using the
POSIX function when no config.h was generated.  In other words, instead of

~    #if defined(HAVE_NANOSLEEP)
~        ... do nanosleep stuff ...
~    #elif defined (HAVE_USLEEP)
~        ... do usleep stuff ...
~    #elif defined (HAVE_SELECT)
~        ... do select stuff ...
~    #else
~        ... use sleep ...
~    #endif

you would need to

~    #if defined(HAVE_NANOSLEEP) || !defined(HAVE_SLEEP) &&
!defined(HAVE_USLEEP) && !defined(HAVE_SELECT)
~        ... do nanosleep stuff ...
~    #elif defined (HAVE_USLEEP)
~        ... do usleep stuff ...
~    #elif defined (HAVE_SELECT)
~        ... do select stuff ...
~    #elif defined (HAVE_SLEEP)
~        ... use sleep ...
~    #endif

config.h includes are already bracketed with "#ifdef HAVE_CONFIG_H ...
#endif", so if the compiler does not define HAVE_CONFIG_H, it will
already be ignored.

|>As a workaround, the config.h in the EMX subdirectory might get you most
|>of what you want, since that is basically what configure creates under
|When I realised the EMX directory existed, I tried using
|that, by copying it into multiple directories (the instructions
|were not correct), but that still didn't work, complaining
|about fnmatch.h or something.

configure creates a link from lib/fnmatch.h to lib/fnmatch.h.in when
necessary.  If EMX does not provide the POSIX.2 fnmatch function and
fnmatch.h header, it should have been necessary to create the link or
copy the file to lib/fnmatch.h.  Otherwise just define HAVE_FNMATCH in

I've made a note about Cygwin in the INSTALL file for both stable and


- --
~                *8^)

Email: address@hidden

Get CVS support at <http://ximbiot.com>!
- --
I will not waste chalk.
I will not waste chalk.
I will not waste chalk...

~          - Bart Simpson on chalkboard, _The Simpsons_
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Netscape - http://enigmail.mozdev.org


reply via email to

[Prev in Thread] Current Thread [Next in Thread]