[haiku-bugs] Re: [Haiku] #12710: BPackageInfo; URL Validation Checks

  • From: "apl-haiku" <trac@xxxxxxxxxxxx>
  • Date: Sun, 01 May 2016 07:02:39 -0000

#12710: BPackageInfo; URL Validation Checks
--------------------------------+----------------------------
   Reporter:  apl-haiku         |      Owner:  bonefish
       Type:  enhancement       |     Status:  new
   Priority:  normal            |  Milestone:  Unscheduled
  Component:  Kits/Package Kit  |    Version:  R1/Development
 Resolution:                    |   Keywords:
 Blocked By:                    |   Blocking:
Has a Patch:  1                 |   Platform:  All
--------------------------------+----------------------------

Comment (by apl-haiku):

 Thank you for the pointers to get me started.  I'm currently trying to get
 a build of `libbe_build.so` with the `BUrl` in it.  I have created the
 directory;

 {{{
 ../src/build/libbe/network
 }}}

 In here I have added `Jamfile`...

 {{{
 SubDir HAIKU_TOP src build libbe network;

 UseHeaders [ FDirName $(HAIKU_TOP) headers build ] : true ;
 UseHeaders [ FDirName $(HAIKU_TOP) headers os net ] : true ;
 UseHeaders [ FDirName $(HAIKU_TOP) headers private locale ] : true ;
 UseHeaders [ FDirName $(HAIKU_TOP) headers private shared ] : true ;

 UsePrivateBuildHeaders app interface shared network ;

 USES_BE_API on <libbe_build>network_kit.o = true ;

 SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits network libnetapi ] ;

 # BUrl uses ICU to perform IDNA conversions (unicode domain names)
 UseBuildFeatureHeaders icu ;
 Includes [ FGristFiles Url.cpp ]
         : [ BuildFeatureAttribute icu : headers ] ;

 BuildPlatformMergeObjectPIC <libbe_build>network_kit.o :
         Url.cpp
 ;
 }}}

 ...and then following the pattern, have edited `../Jamfile` to include
 this `network/Jamfile`.  I am currently stuck because the build then has a
 circular reference and compilation fails...

 {{{
 ...
 ...patience...
 warning: libbe_build.so depends on itself
 warning: libbe_build.so depends on itself
 ...found 3244 target(s)...
 ...updating 5 target(s)...
 Link
 /Volumes/HaikuSource/haiku/generated/objects/darwin/lib/libpackage_build.so
 clang: error: no such file or directory:
 '/Volumes/HaikuSource/haiku/generated/objects/darwin/lib/libbe_build.so'
 ...

 }}}

 If I comment-out the Jamfile contents referring to ICU then the circular
 reference is gone, but then the build chain cannot find the ICU files;

 {{{
 /Volumes/HaikuSource/haiku/headers/private/locale/ICUWrapper.h:14:10:
 fatal error: 'unicode/bytestream.h' file not found
 }}}

 I found the section related to "UseBuildFeatureHeaders icu" in
 `/build/jam/BuildFeatures`, but the Jam-logic is not very clear to me.
 Can you give me any guidance on this?

--
Ticket URL: <https://dev.haiku-os.org/ticket/12710#comment:17>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: