#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.