1dnl This file is an input file used by the GNU "autoconf" program to 2dnl generate the file "configure", which tries to guess your system 3dnl configuration so that no manual editing of the Makefile should be 4dnl necessary 5dnl 6dnl $Id: configure.in,v 1.34 2004/03/01 23:06:18 fp Exp $ 7dnl 8 9AC_INIT(uudeview.lsm) 10AC_PREREQ(2.9) 11AC_CONFIG_HEADER(config.h) 12 13# 14# package revision 15# 16VERSION=0.5 17PATCH=20 18 19AC_ARG_ENABLE(tcl, [ --enable-tcl=dir looks for TCL files files below this directory],have_tcl=$enableval,have_tcl="yes") 20AC_ARG_ENABLE(tk, [ --enable-tk=dir looks for TK files below this directory],have_tk=$enableval,have_tk="yes") 21AC_ARG_ENABLE(minews, [ --disable-minews don't build the mini-inews],have_minews=$enableval,have_minews=yes) 22AC_ARG_ENABLE(posting, [ --enable-posting=server if using minews, sets the default name of your news 23 server (will fall back to NNTPSERVER)],newsserver=$enableval,newsserver="") 24AC_ARG_ENABLE(domain, [ --enable-domain=domain if using minews, and autoconf cannot figure out 25 your domain name, use this option to set it. 26 Otherwise, a bogus domainname is used (causing 27 the reply address of your postings to be invalid)],domainname=$enableval,domainname="") 28AC_ARG_ENABLE(sendmail,[ --enable-sendmail=prog Use prog to mail a file with recipients on 29 the command line and the mail via stdin],have_sendmail=$enableval,have_sendmail=yes) 30AC_ARG_ENABLE(inews, [ --enable-inews=prog Use prog to post a file. -h is given on 31 the command line, the article is piped through 32 standard input],have_inews=$enableval,have_inews=yes) 33AC_ARG_ENABLE(manuals, [ --disable-manuals disables installation of the manual pages],have_manuals=$enableval,have_manuals=yes) 34 35# 36# proc to look for a file in a number of places 37# 38 39AC_DEFUN(FP_FIND_FILE, [ 40 if test "x$4" = "x" ; then 41 ff_name=[`echo $1 | sed 's/[-.*/ ]/_/g'`] 42 else 43 ff_name="$4" 44 fi 45 eval $ff_name= 46 eval ${ff_name}_dir= 47 ff_file= 48 ff_file_dir= 49 for ff_dir in $2 ; do 50 if test -f $ff_dir/$1 ; then 51 ff_file_dir=$ff_dir 52 ff_file=$ff_dir/$1 53 break 54 fi 55 for ff_subdir in $3 ; do 56 if test -f $ff_dir/$ff_subdir/$1 ; then 57 ff_file_dir=$ff_dir/$ff_subdir 58 ff_file=$ff_dir/$ff_subdir/$1 59 break 60 fi 61 done 62 if test "x$ff_file" != "x" ; then 63 break 64 fi 65 done 66 eval ${ff_name}_dir="$ff_file_dir" 67 eval $ff_name="$ff_file" 68]) 69 70# 71# Basic setup 72# 73 74AC_PROG_CC 75AC_PROG_CPP 76wi_PROTOTYPES 77AC_PROG_MAKE_SET 78dnl AC_PROG_INSTALL 79AC_PROG_RANLIB 80AC_PROG_LN_S 81 82if test "$wi_cv_prototypes" = no ; then 83 AC_WARN([Your compiler does not support function prototyping and]) 84 AC_WARN([is not able to properly compile this package. What a pity.]) 85 AC_WARN([Get gcc, or any compiler that supports function prototypes.]) 86 exit 1 87fi 88 89# 90# ---------------------------------------------------------------------- 91# Prepare for setup 92# ---------------------------------------------------------------------- 93# 94 95orb_to_use= 96more_incs="`echo $with_includes | sed 's/:/ /g'`" 97more_libs="`echo $with_libs | sed 's/:/ /g'`" 98base_incs="`echo $CPLUS_INCLUDE_PATH | sed 's/:/ /g'` /local/include /usr/local/include /usr/include" 99base_libs="`echo $LIBPATH $LIBRARY_PATH $LD_LIBRARY_PATH $SHLIB_PATH | sed 's/:/ /g'` /local/lib /usr/local/lib /usr/lib" 100base_bins="`echo $PATH | sed 's/:/\/.. /g'` /local/bin /usr/local/bin /usr/bin" 101base_dirs="$prefix `echo $PATH | sed 's/:/\/.. /g'`" 102 103# 104# ---------------------------------------------------------------------- 105# Check Tcl setup 106# ---------------------------------------------------------------------- 107# 108 109if test "x$have_tcl" != "xno" ; then 110 AC_MSG_CHECKING(for tclConfig.sh) 111 FP_FIND_FILE(tclConfig.sh,$have_tcl $have_tk $more_libs $base_libs $base_dirs,lib) 112 if test "x$tclConfig_sh" = "x" ; then 113 AC_MSG_RESULT(not found) 114 AC_MSG_WARN(Tcl parts disabled) 115 AC_MSG_WARN(use --enable-tcl to locate tclConfig.sh) 116 have_tcl=no 117 else 118 AC_MSG_RESULT($tclConfig_sh) 119 fi 120fi 121 122if test "x$have_tcl" != "xno" ; then 123 AC_MSG_CHECKING(contents of tcl config) 124 . $tclConfig_sh 125 AC_MSG_RESULT(done) 126 127 AC_MSG_CHECKING(tcl version) 128 AC_MSG_RESULT(${TCL_VERSION}${TCL_PATCH_LEVEL}) 129 130 if test "$TCL_MAJOR_VERSION" -lt 8 ; then 131 AC_MSG_WARN([Oops, I need at least Tcl 8.0, sorry. Tcl parts disabled.]) 132 AC_MSG_WARN(use --enable-tcl to locate tclConfig.sh) 133 have_tcl=no 134 fi 135fi 136 137if test "x$have_tcl" != "xno" ; then 138 AC_MSG_CHECKING(for tcl.h) 139 FP_FIND_FILE(tcl.h,$TCL_PREFIX $TCL_EXEC_PREFIX $TCL_SRC_DIR $have_tcl $have_tk $more_incs $base_incs $base_dirs, include) 140 if test "x$tcl_h_dir" = "x" ; then 141 AC_MSG_RESULT(not found) 142 AC_MSG_WARN(Tcl parts disabled) 143 AC_MSG_WARN(use --enable-tcl to locate tcl.h) 144 have_tcl=no 145 else 146 AC_MSG_RESULT(found in $tcl_h_dir) 147 fi 148fi 149 150if test "x$have_tcl" != "xno" ; then 151 tcllibfile=`eval echo $TCL_LIB_FILE` 152 153 tcllibpath= 154 for item in $TCL_LIB_SPEC $TCL_BUILD_LIB_SPEC ; do 155 case $item in 156 -L*) 157 tcllibpath="$tcllibpath `echo $item | sed 's/^-L//'`" 158 ;; 159 esac 160 done 161 162 AC_MSG_CHECKING(for $tcllibfile) 163 FP_FIND_FILE($tcllibfile,$tcllibpath $TCL_PREFIX $TCL_EXEC_PREFIX $TCL_SRC_DIR $have_tcl $have_tk $more_libs $base_libs $base_dirs,lib unix,tcl_lib) 164 if test "x$tcl_lib_dir" = "x" ; then 165 AC_MSG_RESULT(not found) 166 AC_MSG_WARN(Tcl parts disabled) 167 AC_MSG_WARN(use --enable-tcl to locate $tcllibfile) 168 have_tcl="no" 169 else 170 AC_MSG_RESULT(found in $tcl_lib_dir) 171 fi 172 173 case $TCL_DEFS in 174 *TCL_THREADS*) 175 CFLAGS="-D_REENTRANT $CFLAGS" 176 ;; 177 esac 178fi 179 180# 181# Tcl setup complete 182# 183 184if test "x$have_tcl" != "xno" ; then 185 tcllibflag=`eval echo $TCL_LIB_FLAG` 186 TCL_CPPFLAGS="-I$tcl_h_dir $TCL_CPPFLAGS" 187 TCL_LDFLAGS="-L$tcl_lib_dir" 188 TCL_LIBS="$tcllibflag $TCL_LIBS" 189 AC_DEFINE(HAVE_TCL) 190 AC_DEFINE(TMAIN_THREE) 191fi 192 193AC_SUBST(TCL_CPPFLAGS) 194AC_SUBST(TCL_LDFLAGS) 195AC_SUBST(TCL_LIBS) 196 197# 198# ---------------------------------------------------------------------- 199# Check Tk setup 200# ---------------------------------------------------------------------- 201# 202 203if test "x$have_tcl" = "xno" ; then 204 have_tk=no 205fi 206 207if test "x$have_tk" != "xno" ; then 208 AC_MSG_CHECKING(for tkConfig.sh) 209 FP_FIND_FILE(tkConfig.sh,$have_tcl $have_tk $more_libs $base_libs $base_dirs,lib) 210 if test "x$tkConfig_sh" = "x" ; then 211 AC_MSG_RESULT(not found) 212 AC_MSG_WARN(Tk parts disabled) 213 AC_MSG_WARN(use --enable-tk to locate tkConfig.sh) 214 have_tk=no 215 else 216 AC_MSG_RESULT($tkConfig_sh) 217 fi 218fi 219 220if test "x$have_tk" != "xno" ; then 221 AC_MSG_CHECKING(contents of tk config) 222 . $tkConfig_sh 223 AC_MSG_RESULT(done) 224 225 AC_MSG_CHECKING(tk version) 226 AC_MSG_RESULT(${TK_VERSION}${TK_PATCH_LEVEL}) 227 228 if test "$TK_MAJOR_VERSION" -lt 8 ; then 229 AC_MSG_WARN([Oops, I need at least Tk 8.0, sorry. Tk parts disabled.]) 230 AC_MSG_WARN(use --enable-tk to locate tkConfig.sh) 231 have_tk=no 232 fi 233fi 234 235if test "x$have_tk" != "xno" ; then 236 AC_MSG_CHECKING(for tk.h) 237 FP_FIND_FILE(tk.h,$TK_PREFIX $TK_EXEC_PREFIX $TK_SRC_DIR $have_tk $have_tcl $tcl_h_dir $more_incs $base_incs $base_dirs, include) 238 if test "x$tk_h_dir" = "x" ; then 239 AC_MSG_RESULT(not found) 240 AC_MSG_WARN(Tk parts disabled) 241 AC_MSG_WARN(use --enable-tk to locate tk.h) 242 have_tk=no 243 else 244 AC_MSG_RESULT(found in $tk_h_dir) 245 fi 246fi 247 248if test "x$have_tk" != "xno" ; then 249 tklibfile=`eval echo $TK_LIB_FILE` 250 tcllibpath= 251 for item in $TK_LIB_SPEC $TK_BUILD_LIB_SPEC ; do 252 case $item in 253 -L*) 254 tklibpath="$tklibpath `echo $item | sed 's/^-L//'`" 255 ;; 256 esac 257 done 258 259 AC_MSG_CHECKING(for $tklibfile) 260 FP_FIND_FILE($tklibfile,$tklibpath $TK_PREFIX $TK_EXEC_PREFIX $TK_SRC_DIR $have_tcl $have_tk $more_libs $base_libs $base_dirs,lib unix,tk_lib) 261 if test "x$tk_lib_dir" = "x" ; then 262 AC_MSG_RESULT(not found) 263 AC_MSG_WARN(Tk parts disabled) 264 AC_MSG_WARN(use --enable-tk to locate $tklibfile) 265 have_tk="no" 266 else 267 AC_MSG_RESULT(found in $tk_lib_dir) 268 fi 269fi 270 271# 272# Tk setup complete 273# 274 275if test "x$have_tk" != "xno" ; then 276 tklibflag=`eval echo $TK_LIB_FLAG` 277 TCL_CPPFLAGS="-I$tk_h_dir $TK_XINCLUDES $TCL_CPPFLAGS" 278 TCL_LDFLAGS="-L$tk_lib_dir $TCL_LDFLAGS" 279 TCL_LIBS="$tklibflag $TCL_LIBS" 280 AC_DEFINE(HAVE_TK) 281fi 282 283# 284# we might need various libraries if we decide to go for TCL/TK 285# 286 287AC_CHECK_FUNC(sin,, LIBS="$LIBS -lm") 288 289# 290# these libs are needed for both TK and minews (from tk's configure.in) 291# and in some cases -lsocket features gettimeofday, needed for TCL 292# 293 294tk_checkBoth=0 295AC_CHECK_FUNC(connect, tk_checkSocket=0, tk_checkSocket=1) 296if test "$tk_checkSocket" = 1; then 297 AC_CHECK_LIB(socket, connect, LIBS="$LIBS -lsocket", tk_checkBoth=1) 298fi 299if test "$tk_checkBoth" = 1; then 300 tk_oldLibs=$LIBS 301 LIBS="$LIBS -lsocket -lnsl" 302 AC_CHECK_FUNC(accept, tk_checkNsl=0, [LIBS=$tk_oldLibs]) 303fi 304AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname, [LIBS="$LIBS -lnsl"])) 305 306# 307# Look for a mailing program to be used by uuenview 308# 309 310case "x$have_sendmail" in 311xno*) 312 MAILER="" 313 ;; 314x|xyes*) 315 AC_PATH_PROG(MAILER,sendmail,,$PATH:/sbin:/usr/lib:/usr/sbin:/usr/etc) 316 if test "x$MAILER" = "x" ; then 317 AC_PATH_PROG(MAILER,mailx,,$PATH:/sbin:/usr/lib:/usr/sbin:/usr/etc) 318 if test "x$MAILER" != "x" ; then 319 AC_DEFINE(MAILER_NEEDS_SUBJECT) # mailx wants -s "subject" 320 else 321 AC_PATH_PROG(MAILER,elm,,$PATH) 322 if test "x$MAILER" != "x" ; then 323 AC_DEFINE(MAILER_NEEDS_SUBJECT) # elm wants -s "subject" 324 else 325 AC_PATH_PROG(MAILER,mail,,$PATH:/sbin:/usr/lib:/usr/sbin:/usr/etc) 326 if test "x$MAILER" = "x" ; then 327 AC_WARN([I haven't found a suitable mail program. You will not be]) 328 AC_WARN([able to mail files directly from uuenview.]) 329 fi 330 fi 331 fi 332 fi 333 ;; 334*) 335 AC_MSG_CHECKING([for suitable mailer]) 336 AC_MSG_RESULT($have_sendmail) 337 if test ! -x $have_sendmail ; then 338 AC_WARN([Cannot execute $have_sendmail]) 339 AC_WARN([Make sure this prog exists when running uuenview]) 340 fi 341 MAILER="$have_sendmail" 342 ;; 343esac 344 345if test "x$MAILER" != "x" ; then 346 AC_DEFINE_UNQUOTED(PROG_MAILER,"$MAILER") 347fi 348 349# 350# Look for inews. If it is there, there's no need to make our own 351# 352 353case "x$have_inews" in 354xno*) 355 INEWS="" 356 have_minews=no 357 newsserver="not_configured" 358 domainname="not_configured" 359 ;; 360x|xyes*) 361 AC_PATH_PROG(INEWS,inews,,$PATH:/usr/bin:/usr/news:/usr/news/bin:/usr/local/bin:/usr/local/news:/usr/local/news/bin:/usr/share/news:/usr/share/news/bin) 362 363 if test "x$INEWS" != "x" ; then 364 AC_DEFINE(HAVE_NEWS) 365 AC_DEFINE_UNQUOTED(PROG_INEWS,"$INEWS -h") 366 have_minews=no 367 newsserver="not_needed" 368 domainname="not_needed" 369 else 370 if test "$have_minews" = "yes" ; then 371 AC_DEFINE(HAVE_NEWS) 372 373 # 374 # we must cheat here to find the final location of minews. 375 # ./configure defines the final values too late. This mimics 376 # what autoconf 2.7 does. 377 # 378 379 eval "our_prefix=$prefix" 380 eval "our_exec_prefix=$exec_prefix" 381 eval "our_bindir=$bindir" 382 383 if test "x$our_prefix" = "xNONE" ; then 384 eval "our_prefix=$ac_default_prefix" 385 fi 386 if test "x$our_exec_prefix" = "xNONE" ; then 387 eval "our_exec_prefix=$our_prefix" 388 fi 389 if test "x$our_bindir" = "xNONE/bin" ; then 390 eval "our_bindir=$our_exec_prefix/bin" 391 fi 392 393 AC_DEFINE_UNQUOTED(PROG_INEWS,"${our_bindir}/minews -h") 394 else 395 AC_WARN([Couldn't find inews and you didn't want minews.]) 396 AC_WARN([You won't be able to post files directly from uuenview]) 397 have_minews=no 398 newsserver="not_configured" 399 domainname="not_configured" 400 fi 401 fi 402 ;; 403*) 404 AC_MSG_CHECKING([for suitable inews]) 405 AC_MSG_RESULT([$have_inews]) 406 if test ! -x $have_inews ; then 407 AC_WARN([Cannot execute $have_inews]) 408 AC_WARN([Make sure this prog exists when running uuenvew]) 409 fi 410 AC_DEFINE(HAVE_NEWS) 411 AC_DEFINE_UNQUOTED(PROG_INEWS,"$have_inews -h") 412 have_minews=no 413 newsserver="not_needed" 414 domainname="not_needed" 415 ;; 416esac 417 418# 419# check for NNTPSERVER or NNTP_SERVER 420# 421 422if test "$have_minews" = "yes" ; then 423AC_MSG_CHECKING([for news server]) 424if test "x$newsserver" = "x" ; then 425if test "x$NNTPSERVER" != "x" ; then 426 newsserver=$NNTPSERVER 427else 428if test "x$NNTP_SRVER" != "x" ; then 429 newsserver=$NNTP_SERVER 430fi 431fi 432fi 433if test "x$newsserver" = "x" ; then 434 AC_MSG_RESULT([not found]) 435 AC_DEFINE(NEED_NNTPSERVER) 436else 437 AC_MSG_RESULT($newsserver) 438 AC_DEFINE_UNQUOTED(NNTPSERVER,"$newsserver") 439fi 440fi 441 442# 443# If we compile and use minews, we want to know our domain name 444# 445 446if test "$have_minews" = "yes" ; then 447AC_PATH_PROG(HOSTNAME,hostname,,$PATH:/sbin:/usr/sbin) 448AC_MSG_CHECKING([domain name]) 449 450# 451# try /etc/resolv.conf 452# 453 454if test "x$domainname" = "x" ; then 455if test -f /etc/resolv.conf ; then 456 # 457 # note: Parameter for tr is <space><tab> 458 # 459 domainname=`grep '^domain' /etc/resolv.conf | tr -d ' ' | sed 's/domain//'` 460fi 461fi 462 463# 464# on some systems, hostname returns the FQN 465# 466 467if test "x$domainname" = "x" ; then 468if test "x$HOSTNAME" != "x" ; then 469 if test "x`$HOSTNAME | grep "\\."`" != "x" ; then 470 domainname=`$HOSTNAME | sed 's/[[a-zA-Z0-9]]*\.//'` 471 fi 472fi 473fi 474 475if test "x$domainname" = "x" ; then 476 AC_MSG_RESULT([unknown]) 477 AC_WARN([Couldn't figure out your domain name. Configuring bogus]) 478 AC_WARN([domain. If you intend to post directly from uuenview,]) 479 AC_WARN([rerun configure and use --enable-domain=your-domainname]) 480 AC_WARN([with your real domain name.]) 481 domainname="i.dont.know.where.i.am" 482else 483 AC_MSG_RESULT($domainname) 484fi 485 486AC_DEFINE_UNQUOTED(DOMAINNAME,"$domainname") 487 488fi 489 490# 491# Check the directory separator. Because this is probably a Unix-like 492# system, just set it statically to "/". On other systems, change it 493# in config.h 494# 495 496AC_MSG_CHECKING([directory separator]) 497dirseparator="/" 498AC_MSG_RESULT($dirseparator) 499AC_DEFINE_UNQUOTED(DIRSEPARATOR,"$dirseparator") 500 501# 502# Checks for header files and library functions 503# 504 505AC_TYPE_SIZE_T 506AC_HEADER_STDC 507AC_HEADER_TIME 508AC_CHECK_HEADERS(fcntl.h unistd.h memory.h malloc.h errno.h direct.h) 509AC_CHECK_HEADERS(io.h sys/time.h) 510AC_CHECK_FUNCS(getcwd popen gettimeofday isatty) 511 512AC_CHECK_FUNC(tempnam,,AC_DEFINE(tempnam,_FP_tempnam)) 513 514# 515# strerror might be internally defined. this would cause a 516# CHECK_FUNCS(strerror) to fail because it'd be called with 517# zero arguments. So use our own code. 518# 519AC_MSG_CHECKING([for strerror]) 520AC_TRY_LINK([ 521char *blubb() { return (char *) strerror (42); } 522],[ 523(void) blubb(); 524],have_strerror=yes,AC_DEFINE(strerror,_FP_strerror) 525have_strerror=no) 526AC_MSG_RESULT($have_strerror) 527 528AC_MSG_CHECKING([for stdin]) 529AC_TRY_LINK([ 530#include <stdio.h> 531char *blubb() { FILE *in, *out; in=stdin; out=stdout; return (char*)0; } 532],[ 533(void) blubb(); 534],have_stdio=yes,AC_DEFINE(HAVE_STDIO) 535have_stdio=no) 536AC_MSG_RESULT($have_stdio) 537 538if test "$ac_cv_header_stdc" = "no" ; then 539 AC_CHECK_HEADERS(stdarg.h varargs.h) 540 if test "$ac_cv_header_stdarg_h" = "no" ; then 541 if test "$ac_cv_header_varargs_h" = "no" ; then 542 AC_MSG_ERROR([neither stdarg.h nor varargs.h present]) 543 fi 544 fi 545fi 546 547if test "$have_minews" = "yes" ; then 548 AC_CHECK_HEADERS(pwd.h) 549fi 550 551# 552# Check whether this is a DOS-Based system. Another bogus test. 553# Don't even bother to print a message. This code is needed so 554# that autoheader includes the #undef into the final config.h 555# and we can change the definition by hand on a really DOS 556# system (where ./configure doesn't work anyway ...) 557# 558 559if false ; then 560 AC_DEFINE(SYSTEM_DOS) 561 AC_DEFINE(SYSTEM_QUICKWIN) 562 AC_DEFINE(SYSTEM_WINDLL) 563 AC_DEFINE(SYSTEM_OS2) 564fi 565 566if test "x$have_tcl" != "xno" ; then 567 # 568 # Hack: remove doubly-defined libs 569 # 570 571 TCL_NEW_LIBS="" 572 for lib in $TCL_LIBS $LIBS ; do 573 found=no 574 for tlib in $TCL_NEW_LIBS ; do 575 if test "x$lib" = "x$tlib" ; then 576 found=yes 577 break 578 fi 579 done 580 if test "x$found" = "xno" ; then 581 TK_NEW_LIBS="$TK_NEW_LIBS $lib" 582 fi 583 done 584fi 585 586# 587# On some systems (so far, OS2 and WINDOWS), functions that are exported 588# from a DLL must be declared specifically. 589# 590 591AC_DEFINE_UNQUOTED(UUEXPORT,) 592AC_DEFINE_UNQUOTED(UUTCLEXPORT,) 593AC_DEFINE_UNQUOTED(TOOLEXPORT,) 594AC_DEFINE_UNQUOTED(UUTCLFUNC,) 595 596# 597# decide which programs and libraries to build 598# 599 600PROGS="uudeview" 601DOINST="install-uudeview" 602MPAGES="uudeview.1 uuenview.1" 603 604if test "x$have_minews" = "xyes" ; then 605 PROGS="$PROGS minews" 606 DOINST="$DOINST install-minews" 607fi 608if test "x$have_tk" != "xno" ; then 609 PROGS="$PROGS xdeview" 610 MPAGES="$MPAGES xdeview.1" 611 DOINST="$DOINST install-tcl" 612fi 613 614if test "x$have_manuals" = "xno" ; then 615 MPAGES="" 616fi 617 618AC_SUBST(DOINST) 619AC_SUBST(PROGS) 620AC_SUBST(MPAGES) 621 622# 623# set version number 624# 625AC_MSG_CHECKING([version number]) 626version_number="$VERSION"pl"$PATCH" 627AC_MSG_RESULT($version_number) 628AC_SUBST(VERSION) 629AC_SUBST(PATCH) 630 631# 632# done 633# 634 635AC_OUTPUT(Makefile tcl/Makefile unix/Makefile uulib/Makefile) 636 637# 638# copy config.h into our subdirectories 639# 640#echo copying tcl/config.h 641#cp config.h tcl 642#echo copying unix/config.h 643#cp config.h unix 644#echo copying uulib/config.h 645#cp config.h uulib 646# 647# 648# goodbye 649# 650