diff --git a/doc/index.docbook b/doc/index.docbook index 85516c3..8ecf0cc 100644 --- a/doc/index.docbook +++ b/doc/index.docbook @@ -2450,11 +2450,8 @@ installs the module. qtdir Module setting overrides global Set this option to set the environment variable QTDIR while building. -You cannot override this setting in a module option. If you do not specify -this option, it defaults to -${source-dir}/build/qt, -which uses the qt module included in the &kde; source repository. -You may use a tilde (~) to represent your home directory. +If you do not specify this option, &kdesrc-build; will assume that &Qt; is +provided by the operating system. diff --git a/kdesrc-build-setup b/kdesrc-build-setup index 5c437a3..4797a19 100755 --- a/kdesrc-build-setup +++ b/kdesrc-build-setup @@ -324,9 +324,9 @@ print $output < # remaining whitespace and closing bracket } { - $ctx->getOption($1, 'module') || + $ctx->getOption($1, 'module') // croak_runtime("Invalid variable $1") }gxe; # Replace all matching expressions, use extended regexp w/ diff --git a/modules/ksb/BuildContext.pm b/modules/ksb/BuildContext.pm index 3e2c3aa..7634043 100644 --- a/modules/ksb/BuildContext.pm +++ b/modules/ksb/BuildContext.pm @@ -112,7 +112,7 @@ our %defaultGlobalOptions = ( "override-build-system"=> "", "override-url" => "", "persistent-data-file" => "", - "qtdir" => "$ENV{HOME}/qt4", + "qtdir" => "", "remove-after-install" => "none", # { none, builddir, all } "source-dir" => "$ENV{HOME}/kdesrc", "svn-server" => "svn://anonsvn.kde.org/home/kde", diff --git a/modules/ksb/BuildSystem/Qt4.pm b/modules/ksb/BuildSystem/Qt4.pm index 5bc5e89..fe3984a 100644 --- a/modules/ksb/BuildSystem/Qt4.pm +++ b/modules/ksb/BuildSystem/Qt4.pm @@ -49,6 +49,12 @@ sub configureInternal my $prefix = $module->getOption('qtdir'); + if (!$prefix) + { + error ("\tThe b[qtdir] option must be set to determine where to install r[b[$module]"); + return 0; + } + # Some users have added -prefix manually to their flags, they # probably shouldn't anymore. :) diff --git a/modules/ksb/Module.pm b/modules/ksb/Module.pm index ce3975b..d6aa249 100644 --- a/modules/ksb/Module.pm +++ b/modules/ksb/Module.pm @@ -647,31 +647,23 @@ sub setupEnvironment my $self = assert_isa(shift, 'ksb::Module'); my $ctx = $self->buildContext(); my $kdedir = $self->getOption('kdedir'); - my $qtdir = $self->getOption('qtdir'); my $prefix = $self->installationPath(); - # Add global set-envs + # Add global set-envs and context $self->buildContext()->applyUserEnvironment(); - # Add some standard directories for pkg-config support. Include env settings. - my @pkg_config_dirs = ("$kdedir/lib/pkgconfig", "$qtdir/lib/pkgconfig"); + my @pkg_config_dirs = ("$kdedir/lib/pkgconfig"); $ctx->prependEnvironmentValue('PKG_CONFIG_PATH', @pkg_config_dirs); - # Likewise, add standard directories that should be in LD_LIBRARY_PATH. - my @ld_dirs = ("$kdedir/lib", "$qtdir/lib", $self->getOption('libpath')); + my @ld_dirs = ("$kdedir/lib", $self->getOption('libpath')); $ctx->prependEnvironmentValue('LD_LIBRARY_PATH', @ld_dirs); - my $buildSystem = $self->buildSystem(); - $buildSystem->prepareModuleBuildEnvironment($ctx, $self, $prefix); - - my @path = ("$kdedir/bin", "$qtdir/bin", $self->getOption('binpath')); + my @path = ("$kdedir/bin", $self->getOption('binpath')); $ctx->prependEnvironmentValue('PATH', @path); - # Set up the children's environment. We use queueEnvironmentVariable since - # it won't set an environment variable to nothing. (e.g, setting QTDIR to - # a blank string might confuse Qt or KDE. - - $ctx->queueEnvironmentVariable('QTDIR', $qtdir); + # Build system's environment injection + my $buildSystem = $self->buildSystem(); + $buildSystem->prepareModuleBuildEnvironment($ctx, $self, $prefix); # Read in user environment defines $self->applyUserEnvironment() unless $self == $ctx;