>I have now added bss_file.c to HEADER, because that is what I think
>was originally intended ("EXHEADER" = "exported headers", i.e. files
>that should be copied into the "include" directory to be visible for
>other programs that use OpenSSL; "HEADER" = other files that are
>included somewhere within the library, e.g. all the ..._locl.h ones).

Good idea, but it doesn't work without adding a new target to the
makefiles.  Or at least, that's the way I've got it to work... :)

The problem:  the mk1mf.pl EXHEADER treatment changes the name of the 
file in the generated .mak file from .c to .h (whops):

  $defs.=&do_defs("EXHEADER",$exheader,"\$(INC_D)",".h");
  $rules.=&do_copy_rule("\$(INC_D)",$exheader,".h");

The solution (well, *one* solution):  make an EXSOURCE target in the
makefile.ssl, and enhance mk1mf.pl to use the source extension ".c".
The diff'd bio/Makefile.ssl (<before> then <after>):

*** i:/work/crypto/bio/Makefile.ssl Wed Apr 14 18:17:16 1999
--- e:/OpenSSL-0.9.3/crypto/bio/Makefile.ssl Thu Apr 15 11:05:54 1999
***************
*** 35,42 ****

  SRC= $(LIBSRC)

  EXHEADER= bio.h
! HEADER=       bss_file.c $(EXHEADER)

  ALL=    $(GENERAL) $(SRC) $(HEADER)

--- 35,43 ----

  SRC= $(LIBSRC)

+ EXSOURCE=bss_file.c
  EXHEADER= bio.h
! HEADER=       $(EXHEADER)

  ALL=    $(GENERAL) $(SRC) $(HEADER)

The diff'd mk1mk.pl:

E:\>diff -c i:/work/util/mk1mf.pl e:/OpenSSL-0.9.3/util/mk1mf.pl
*** i:/work/util/mk1mf.pl Sat Apr  3 17:17:18 1999
--- e:/OpenSSL-0.9.3/util/mk1mf.pl Thu Apr 15 10:49:14 1999
***************
*** 385,391 ****
  \$(INC_D):
        \$(MKDIR) \$(INC_D)

! headers: \$(HEADER) \$(EXHEADER)

  lib: \$(LIBS_DEP)

--- 385,391 ----
  \$(INC_D):
        \$(MKDIR) \$(INC_D)

! headers: \$(HEADER) \$(EXHEADER) \$(EXSOURCE)

  lib: \$(LIBS_DEP)

***************
*** 450,455 ****
--- 450,458 ----
        if ($key eq "EXHEADER")
                { $exheader.=&var_add($dir,$val); }

+       if ($key eq "EXSOURCE")
+               { $exsource.=&var_add($dir,$val); }
+
        if ($key eq "HEADER")
                { $header.=&var_add($dir,$val); }

***************
*** 466,475 ****
--- 469,480 ----
  $test=&clean_up_ws($test);
  $e_exe=&clean_up_ws($e_exe);
  $exheader=&clean_up_ws($exheader);
+ $exsource=&clean_up_ws($exsource);
  $header=&clean_up_ws($header);

  # First we strip the exheaders from the headers list
  foreach (split(/\s+/,$exheader)){ $h{$_}=1; }
+ foreach (split(/\s+/,$exsource)){ $h{$_}=1; }
  foreach (split(/\s+/,$header))        { $h.=$_." " unless $h{$_}; }
  chop($h); $header=$h;

***************
*** 478,483 ****
--- 483,491 ----

  $defs.=&do_defs("EXHEADER",$exheader,"\$(INC_D)",".h");
  $rules.=&do_copy_rule("\$(INC_D)",$exheader,".h");
+
+ $defs.=&do_defs("EXSOURCE",$exsource,"\$(INC_D)",".c");
+ $rules.=&do_copy_rule("\$(INC_D)",$exsource,".c");

  $defs.=&do_defs("T_OBJ",$test,"\$(OBJ_D)",$obj);
  $rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");

TT
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to