Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/3527 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/27/3527/1 allow odk/util/check.pl to use two base dirs This is in preparation for my plan to move stuff out of odkcommon.zip and install it using filelists. The moved files will be in $(INSTDIR)/sdk, not in the Zip's workdir, so we must look for them in both places. Change-Id: I7dd224c9067f2dbb522b87b7057ddc02a5fa0cad --- M odk/CustomTarget_check.mk M odk/util/check.pl 2 files changed, 51 insertions(+), 34 deletions(-) diff --git a/odk/CustomTarget_check.mk b/odk/CustomTarget_check.mk index cdc83dc..ae23d3d 100644 --- a/odk/CustomTarget_check.mk +++ b/odk/CustomTarget_check.mk @@ -25,10 +25,14 @@ $(if $(filter MACOSX,$(OS)),macosx,\ $(if $(filter AIX,$(OS)),aix)))))))) -$(call gb_CustomTarget_get_workdir,odk/check)/checkbin: $(SRCDIR)/odk/util/check.pl $(call gb_CustomTarget_get_target,odk/odkcommon) +$(call gb_CustomTarget_get_workdir,odk/check)/checkbin : \ + $(SRCDIR)/odk/util/check.pl \ + $(call gb_CustomTarget_get_target,odk/odkcommon) $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),CHK,1) touch $@ - $(PERL) $< $(call gb_CustomTarget_get_workdir,odk/odkcommon) \ + $(PERL) $< \ + $(INSTDIR)/$(gb_Package_SDKDIRNAME) \ + $(call gb_CustomTarget_get_workdir,odk/odkcommon) \ $(odk_PLATFORM) "$(gb_Exectable_EXT)" $@ cat $@ diff --git a/odk/util/check.pl b/odk/util/check.pl index 5c57cbc..c1288a9 100644 --- a/odk/util/check.pl +++ b/odk/util/check.pl @@ -23,16 +23,29 @@ $return = 0; -$StartDir = "$ARGV[0]"; -$OperatingSystem = "$ARGV[1]"; -$ExePrefix = "$ARGV[2]"; +$PrimaryDir = "$ARGV[0]"; +$SecondaryDir = "$ARGV[1]"; +$OperatingSystem = "$ARGV[2]"; +$ExePrefix = "$ARGV[3]"; + +sub check_file +{ + my ($file) = @_; + return -e "$PrimaryDir/$file" || -e "$SecondaryDir/$file"; +} + +sub check_dir +{ + my ($dir) = @_; + return -d "$PrimaryDir/$dir" || -d "$SecondaryDir/$dir"; +} print "Check for $OperatingSystem\n"; -if (-d "$StartDir") { +if (-d "$PrimaryDir" || -d "$SecondaryDir") { # check binaries print "check binaries: "; - if (-d "$StartDir/bin") { + if (check_dir("bin")) { my @binarylist = ( "idlc","cppumaker","javamaker", "regcompare","autodoc", "unoapploader", "uno-skeletonmaker" ); @@ -42,7 +55,7 @@ foreach $i (@binarylist) { - if (! -e "$StartDir/bin/$i$ExePrefix") { + if (!check_file("bin/$i$ExePrefix")) { $return++; print "\nERROR: \"$StartDir/bin/$i$ExePrefix\" is missing\n"; } else { @@ -51,7 +64,7 @@ } if ($OperatingSystem eq "windows" || $OperatingSystem eq "mingw") { - if ($OperatingSystem eq "windows" && ! -e "$StartDir/bin/climaker.exe") { + if ($OperatingSystem eq "windows" && !check_file("bin/climaker.exe")) { $return++; print "\nERROR: \"$StartDir/bin/climaker.exe\" is missing\n"; } else { @@ -59,7 +72,7 @@ } } if ($OperatingSystem eq "macosx") { - if (! -e "$StartDir/bin/addsym-macosx.sh") { + if (!check_file("bin/addsym-macosx.sh")) { $return++; print "\nERROR: \"$StartDir/bin/addsym-macosx.sh\" is missing\n"; } else { @@ -73,7 +86,7 @@ # packaging files print "check packaging files: "; - if (-d "$StartDir/docs") { + if (check_dir("docs")) { my @filelist = ( "install.html", "notsupported.html","sdk_styles.css","tools.html", "images/arrow-1.gif", "images/arrow-3.gif", @@ -90,7 +103,7 @@ foreach $i (@filelist) { - if (! -e "$StartDir/docs/$i") { + if (!check_file("docs/$i")) { $return++; print "\nERROR: \"$StartDir/docs/$i\" is missing\n"; } else { @@ -105,36 +118,36 @@ #check configure files print "check config files: "; if ($OperatingSystem eq "windows" || $OperatingSystem eq "mingw") { - if (! -e "$StartDir/setsdkenv_windows.bat") { + if (!check_file("setsdkenv_windows.bat")) { print "\nERROR: \"$StartDir/setsdkenv_windows.bat\" is missing\n"; $return++; } - if (! -e "$StartDir/setsdkenv_windows.template") { + if (!check_file("setsdkenv_windows.template")) { print "\nERROR: \"$StartDir/setsdkenv_windows.template\" is missing\n"; $return++; } - if (! -e "$StartDir/cfgWin.js") { + if (!check_file("cfgWin.js")) { print "\nERROR: \"$StartDir/cfgWin.js\" is missing\n"; $return++; } } else { - if (! -e "$StartDir/configure.pl") { + if (!check_file("configure.pl")) { print "\nERROR: \"$StartDir/configure.pl\" is missing\n"; $return++; } - if (! -e "$StartDir/config.guess") { + if (!check_file("config.guess")) { print "\nERROR: \"$StartDir/config.guess\" is missing\n"; $return++; } - if (! -e "$StartDir/config.sub") { + if (!check_file("config.sub")) { print "\nERROR: \"$StartDir/config.sub\" is missing\n"; $return++; } - if (! -e "$StartDir/setsdkenv_unix") { + if (!check_file("setsdkenv_unix")) { print "\nERROR: \"$StartDir/setsdkenv_unix\" is missing\n"; $return++; } - if (! -e "$StartDir/setsdkenv_unix.sh.in") { + if (!check_file("setsdkenv_unix.sh.in")) { print "\nERROR: \"$StartDir/setsdkenv_unix.sh.in\" is missing\n"; $return++; } @@ -143,16 +156,16 @@ #check setting files print "check setting files: "; - if (-d "$StartDir/settings") { - if (! -e "$StartDir/settings/settings.mk") { + if (check_dir("settings")) { + if (!check_file("settings/settings.mk")) { print "\nERROR: \"$StartDir/settings/settings.mk\" is missing\n"; $return++; } - if (! -e "$StartDir/settings/std.mk") { + if (!check_file("settings/std.mk")) { print "\nERROR: \"$StartDir/settings/std.mk\" is missing\n"; $return++; } - if (! -e "$StartDir/settings/stdtarget.mk") { + if (!check_file("settings/stdtarget.mk")) { print "\nERROR: \"$StartDir/settings/stdtarget.mk\" is missing\n"; $return++; } @@ -165,8 +178,8 @@ # improvement required if ($ENV{'DOXYGEN'} ne '') { print "check cpp docu: "; - if (-d "$StartDir/docs/cpp/ref") { - if (! -e "$StartDir/docs/cpp/ref/index.html") { + if (check_dir("docs/cpp/ref")) { + if (!check_file("docs/cpp/ref/index.html")) { print "\nERROR: \"$StartDir/docs/cpp/ref/index.html\" is missing\n"; $return++; } @@ -182,8 +195,8 @@ my $JDK = $ENV{"JDK"}; if (defined($solar_java) && $solar_java ne "" && (!defined($JDK) || $JDK ne "gcj")) { print "check java docu: "; - if (-d "$StartDir/docs/java/ref") { - if (! -e "$StartDir/docs/java/ref/index.html") { + if (check_dir("docs/java/ref")) { + if (!check_file("docs/java/ref/index.html")) { print "\nERROR: \"$StartDir/docs/java/ref/index.html\" is missing\n"; $return++; } @@ -194,7 +207,7 @@ foreach $i (@dir_list) { - if (! -d "$StartDir/docs/java/ref/com/sun/star/$i") { + if (!check_dir("docs/java/ref/com/sun/star/$i")) { $return++; print "\nERROR: \"$StartDir/docs/java/ref/com/sun/star/$i\" is missing\n"; } else { @@ -210,16 +223,16 @@ #check idl docu, it is only a first and simple check # improvement required print "check idl docu: "; - if (-d "$StartDir/docs/common/ref") { - if (! -e "$StartDir/docs/common/ref/module-ix.html") { + if (check_dir("docs/common/ref")) { + if (!check_file("docs/common/ref/module-ix.html")) { print "\nERROR: \"$StartDir/docs/common/ref/module-ix.html\" is missing\n"; $return++; } - if (! -d "$StartDir/docs/common/ref/index-files") { + if (!check_dir("docs/common/ref/index-files")) { print "\nERROR: \"$StartDir/docs/common/ref/index-files\" is missing\n"; $return++; } - if (! -e "$StartDir/docs/common/ref/index-files/index-10.html") { + if (!check_file("docs/common/ref/index-files/index-10.html")) { print "\nERROR: \"$StartDir/docs/common/ref/index-files/index-10.html\" is missing\n"; $return++; } @@ -335,7 +348,7 @@ foreach $i (@idl_dirlist) { - if (! -d "$StartDir/docs/common/ref/com/sun/star/$i") { + if (!check_dir("docs/common/ref/com/sun/star/$i")) { $return++; print "\nERROR: \"$StartDir/docs/common/ref/com/sun/star/$i\" is missing\n"; } else { -- To view, visit https://gerrit.libreoffice.org/3527 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I7dd224c9067f2dbb522b87b7057ddc02a5fa0cad Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: David Tardon <dtar...@redhat.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice