view libgui/module.mk @ 20569:b70cc4bd8109

begin removal of global error_state variable * gripes.h, gripes.cc (gripe_library_execution_error): Delete. * error.cc (warning_state): Delete unused variable. (reset_error_handler): Don't set warning_state or error_state. (debug_or_throw_exception): New static function. (verror): Don't check error_state. (vmessage): Call debug_or_throw_exception instead of setting error_state. (error_1, error_2): Combine into single function, error_1 that prints error message and ultimately calls debug_or_throw_exception. (verror, verror_with_cfn, verror_with_id_cfn): Call error_1. Don't check or set warning_state. (error): Don't check error_state. (Flasterror, Flasterr): Adapt to not using error_state. (interpreter_try): Don't unwind_protect error_state. * NEWS: Update. * doc/interpreter/external.txi: Explain octave_execution_exception instead of error_state for matrix addition example. * jit-typeinfo.cc (octave_jit_gripe_nan_to_logical_conversion, octave_jit_ginvalid_index, octave_jit_gindex_range, octave_jit_paren_scalar, octave_jit_paren_scalar_subsasgn): Don't catch octave_execution_exception. * cellfun.cc (Fcellfun): Use exceptions instead of error_state. * ls-mat-ascii.cc (save_mat_ascii_data): Likewise. * mex.cc (mexCallMATLAB, mexEvalString): Likewise. * variables.cc (safe_symbol_lookup): Likewise. * svd.cc (Fsvd): Eliminate use of error_state. * __magick_read__.cc (read_file, write_file): Likewise. * variables.cc (generate_struct_completions): Eliminate use of obsolete warning_state variable. * ov-builtin.cc (octave_builtin::do_multi_index_op): Don't catch octave_execution_exception and call gripe_library_execution_error. * ov-class.cc (octave_class::reconstruct_exemplar): Eliminate use of error_state. Catch possible octave_execution_exception in do_multi_index_op. * ov-mex-fcn.cc (octave_mex_function::do_multi_index_op): Eliminate use of error_state. Catch possible octave_execution_exception in call_mex. * ov-fcn-handle.cc (octave_fcn_binder::maybe_binder): Eliminate use of error_state. * ov-oncleanup.cc (octave_oncleanup::~octave_oncleanup): Eliminate use of error_state. Propagate possible octave_execution_exception from do_multi_index_op. * ov.cc (octave_value::assign, do_binary_op, do_unary_op, octave_value::do_non_const_unary_op): Don't catch octave_execution_exception here. * oct-parse.in.yy (octave_base_parser::finish_colon_expression, octave_base_parser::finish_array_list): Eliminate use of warning_state and error_state. (Feval, Fevalin): Use exceptions instead of error_state. * pt-eval.cc, pt-eval.h (tree_evaluator::unwind_protect_exception): New static variable. * (tree_evaluator::visit_statement): Don't catch octave_execution_exception here. (tree_evaluator::visit_try_catch_command, tree_evaluator::do_unwind_protect_cleanup): Eliminate use of error_state. (tree_evaluator::visit_unwind_protect_command): Use unwind_protect_exception to track whether an exception has occurred in the try block.
author John W. Eaton <jwe@octave.org>
date Thu, 01 Oct 2015 16:18:19 -0400
parents 048f7cda88ea
children
line wrap: on
line source

if AMCOND_BUILD_GUI

libgui_EXTRA_DIST =

libgui_CLEANFILES =
libgui_DISTCLEANFILES =
libgui_MAINTAINERCLEANFILES =

MOC_CPPFLAGS =

## Fix for bug #42839 where -mieee CFLAG option is added to CPPFLAGS by gnulib.
## Users may also pass other options in CPPFLAGS that moc does not understand.
## Only keep moc-compatible options -Idir, -Dmacro, and -Umacro.
MOC_OCTAVE_CPPFLAGS = $(filter -I% -D% -U%, $(AM_CPPFLAGS) $(CPPFLAGS))

octlib_LTLIBRARIES += libgui/liboctgui.la

TRANSLATIONS = \
  libgui/languages/be_BY.ts \
  libgui/languages/de_DE.ts \
  libgui/languages/en_US.ts \
  libgui/languages/es_ES.ts \
  libgui/languages/eu_ES.ts \
  libgui/languages/fr_FR.ts \
  libgui/languages/it_IT.ts \
  libgui/languages/ja_JP.ts \
  libgui/languages/nl_NL.ts \
  libgui/languages/pt_BR.ts \
  libgui/languages/pt_PT.ts \
  libgui/languages/ru_RU.ts \
  libgui/languages/uk_UA.ts \
  libgui/languages/zh_CN.ts

LOCALES = $(patsubst libgui/languages/%.ts, libgui/languages/%.qm, $(TRANSLATIONS))

include libgui/src/module.mk
include libgui/graphics/module.mk
include libgui/qterminal-module.mk

## liboctgui merely collects a bunch of compiled convenience libraries.
## It has no source code itself.
libgui_liboctgui_la_SOURCES =

# Dummy C++ source to force C++ linking.
nodist_EXTRA_libgui_liboctgui_la_SOURCES = libgui/dummy.cc

libgui_liboctgui_la_LIBADD = \
  libgui/qterminal/libqterminal.la \
  libgui/src/libgui-src.la \
  libgui/graphics/libgui-graphics.la \
  $(top_builddir)/libinterp/liboctinterp.la \
  $(top_builddir)/liboctave/liboctave.la \
  $(LIBOCTGUI_LINK_DEPS)

# Increment these as needed and according to the rules in the libtool manual:
libgui_liboctgui_current = 1
libgui_liboctgui_revision = 0
libgui_liboctgui_age = 0

libgui_liboctgui_version_info = $(libgui_liboctgui_current):$(libgui_liboctgui_revision):$(libgui_liboctgui_age)

libgui_liboctgui_la_LDFLAGS = \
  -version-info $(libgui_liboctgui_version_info) \
  $(NO_UNDEFINED_LDFLAG) \
  -bindir $(bindir) \
  $(LIBOCTGUI_LINK_OPTS)

octetc_DATA += libgui/default-qt-settings

octlocale_DATA += $(LOCALES)

libgui/default-qt-settings: libgui/default-qt-settings.in | libgui/$(octave_dirstamp)
	$(AM_V_GEN)$(do_subst_qt_settings)

DIRSTAMP_FILES += \
  libgui/$(octave_dirstamp)

define moc-command
  rm -f $@-t $@ && \
  ( echo "#ifdef HAVE_CONFIG_H"; \
    echo "#include <config.h>"; \
    echo "#endif"; \
    $(MOC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MOC_OCTAVE_CPPFLAGS) $(MOC_CPPFLAGS) $(libgui_liboctgui_la_CPPFLAGS) $< ) > $@-t && \
  mv $@-t $@
endef

define rcc-command
  rm -f $@-t $@ && \
  ( echo "#ifdef HAVE_CONFIG_H"; \
    echo "#include <config.h>"; \
    echo "#endif"; \
    $(RCC) -name $(@D) $< ) > $@-t && \
  mv $@-t $@
endef

moc-%.cc: %.h
	$(AM_V_GEN)$(moc-command)

ui-%.h: %.ui
	$(AM_V_GEN)$(UIC) -o $@ $<

qrc-%.cc: %.qrc
	$(AM_V_GEN)$(rcc-command)

AM_V_lrelease = $(am__v_lrelease_$(V))
am__v_lrelease_ = $(am__v_lrelease_$(AM_DEFAULT_VERBOSITY))
am__v_lrelease_0 = -silent
am__v_lrelease_1 =

%.qm: %.ts | libgui/languages/$(octave_dirstamp)
	$(AM_V_GEN)$(LRELEASE) $(AM_V_lrelease) -qm $@ $<

DIRSTAMP_FILES += \
  libgui/languages/$(octave_dirstamp)

libgui_EXTRA_DIST += \
  $(TRANSLATIONS) \
  libgui/default-qt-settings.in

EXTRA_DIST += $(libgui_EXTRA_DIST)

libgui_DISTCLEANFILES += \
  libgui/default-qt-settings \
  $(LOCALES)

CLEANFILES += $(libgui_CLEANFILES)
DISTCLEANFILES += $(libgui_DISTCLEANFILES)
MAINTAINERCLEANFILES += $(libgui_MAINTAINERCLEANFILES)

libgui-clean:
	rm -f $(libgui_CLEANFILES)

libgui-distclean: libgui-clean
	rm -f $(libgui_DISTCLEANFILES)

libgui-maintainer-clean: libgui-distclean
	rm -f $(libgui_MAINTAINERCLEANFILES)
endif