xfce4 dev tools的一些说明

时间:2022-09-24 07:42:35

xfce4 dev tools实际上基本是封装了一些autoconf的宏函数

比如XDT_I18N:

AC_DEFUN([XDT_I18N],
[
dnl Substitute GETTEXT_PACKAGE variable
GETTEXT_PACKAGE=m4_default([$], [AC_PACKAGE_TARNAME()])
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Name of default gettext domain])
AC_SUBST([GETTEXT_PACKAGE]) dnl gettext and stuff
ALL_LINGUAS="$1"
AM_GLIB_GNU_GETTEXT() dnl This is required on some Linux systems
AC_CHECK_FUNC([bind_textdomain_codeset]) dnl Determine where to install locale files
AC_MSG_CHECKING([for locales directory])
AC_ARG_WITH([locales-dir],
[
AC_HELP_STRING([--with-locales-dir=DIR], [Install locales into DIR])
], [localedir=$withval],
[
if test x"$CATOBJEXT" = x".mo"; then
localedir=$libdir/locale
else
localedir=$datadir/locale
fi
])
AC_MSG_RESULT([$localedir])
AC_SUBST([localedir]) dnl Determine additional xgettext flags
AC_MSG_CHECKING([for additional xgettext flags])
if test x"$XGETTEXT_ARGS" = x""; then
XGETTEXT_ARGS="--keyword=Q_ --from-code=UTF-8";
else
XGETTEXT_ARGS="$XGETTEXT_ARGS --keyword=Q_ --from-code=UTF-8";
fi
AC_SUBST([XGETTEXT_ARGS])
AC_MSG_RESULT([$XGETTEXT_ARGS])
])

主要内容就在前面五行的实现:

  GETTEXT_PACKAGE=m4_default([$], [AC_PACKAGE_TARNAME()])
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Name of default gettext domain])
AC_SUBST([GETTEXT_PACKAGE])
ALL_LINGUAS="$1"
AM_GLIB_GNU_GETTEXT()

定义了GETTEXT_PACKAGE宏,然后将参数1传递给ALL_LINGUAS

而XDT_CHECK_PACKAGE的实现也很简单,基本上就是封装PKG_CONFIG

AC_DEFUN([XDT_CHECK_PACKAGE],
[
XDT_PROG_PKG_CONFIG() AC_MSG_CHECKING([for $ >= $])
if $PKG_CONFIG "--atleast-version=$3" "$2" >/dev/null >&; then
$1_VERSION=`$PKG_CONFIG --modversion "$2"`
AC_MSG_RESULT([$$1_VERSION]) AC_MSG_CHECKING([$1_CFLAGS])
$1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
AC_MSG_RESULT([$$1_CFLAGS]) AC_MSG_CHECKING([$1_LIBS])
$1_LIBS=`$PKG_CONFIG --libs "$2"`
AC_MSG_RESULT([$$1_LIBS]) $1_REQUIRED_VERSION=$ AC_SUBST([$1_VERSION])
AC_SUBST([$1_CFLAGS])
AC_SUBST([$1_LIBS])
AC_SUBST([$1_REQUIRED_VERSION]) ifelse([$], , , [$])
elif $PKG_CONFIG --exists "$2" >/dev/null >&; then
xdt_cv_version=`$PKG_CONFIG --modversion "$2"`
AC_MSG_RESULT([found, but $xdt_cv_version]) ifelse([$], ,
[
echo "*** The required package $2 was found on your system,"
echo "*** but the installed version ($xdt_cv_version) is too old."
echo "*** Please upgrade $2 to atleast version $3, or adjust"
echo "*** the PKG_CONFIG_PATH environment variable if you installed"
echo "*** the new version of the package in a nonstandard prefix so"
echo "*** pkg-config is able to find it."
exit
], [$])
else
AC_MSG_RESULT([not found]) ifelse([$], ,
[
echo "*** The required package $2 was not found on your system."
echo "*** Please install $2 (atleast version $3) or adjust"
echo "*** the PKG_CONFIG_PATH environment variable if you"
echo "*** installed the package in a nonstandard prefix so that"
echo "*** pkg-config is able to find it."
exit
], [$])
fi
])

XDT_PROG_PKG_CONFIG检测系统中是否存在PKG_CONFIG,如果

存在,则通过pkg-config来配置CFLAGS/LIBS等4个变量

xfce4 dev tools的一些说明的更多相关文章

  1. JCEF 如何修改右键菜单项(JCEF在右键菜单中添加开发者选项-show dev tools)

    需求: 在界面的右键事件中添加一个打开开发者选项的菜单(Show Dev Tools) 所以我们可以看到的是在界面上右键,会有默认的一些菜单项(前进,后退,打印,查看源码),而这些功能并不一定是我们需 ...

  2. Chrome Dev Tools :成为更高效的开发人员

    原文出处 http://blog.jobbole.com/22065/ 实时CSS Style编辑 选择一个Dom,可以对Dom进行编辑和操作,实时修改Css Style, 同时CssStyle可以保 ...

  3. 谷歌浏览器 DEV Tools

    谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器.伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须的工具.大多数可能熟悉关于chorme的许多特点,例如使用c ...

  4. chrome dev tools

    chrome dev tools介绍一下Chrome dev tools 的基本使用和一些意想不到的小技巧.\\Chrome Developer Tools 是Chrome内嵌的一系列编辑和调试的工具 ...

  5. 15个你不得不知道的Chrome dev tools的小技巧

    转载自:https://www.imooc.com/article/2559 谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器.伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chro ...

  6. kibana dev tools快捷键

    kibana dev tools快捷键 ctrl+enter  提交请求 ctrl+i 自动缩进 ctrl+enter 提交请求 down 打开自动补全菜单 enter或tab 选中项自动补全 esc ...

  7. [D3] Debug D3 v4 with Dev Tools

    Since D3 outputs standard markup, you can use familiar dev tools and inspectors to debug your visual ...

  8. 第十五章·Kibana深入-Dev Tools及Lucene语法

    Dev Tools介绍 Dev Tools 页面包含开发工具,您可以使用这些Dev Tools与Kibana中的数据进行交互. 原先的交互式控制台Sense,使用户方便的通过浏览器直接与Elastic ...

  9. 前端性能优化之利用 Chrome Dev Tools 进行页面性能分析

    背景 我们经常使用 Chrome Dev Tools 来开发调试,但是很少知道怎么利用它来分析页面性能,这篇文章,我将详细说明怎样利用 Chrome Dev Tools 进行页面性能分析及性能报告数据 ...

随机推荐

  1. JS中的call()方法的理解

    fn.call(obj,arg1,arg2);这是call()方法的使用形式,apply()是差不多的.作用是用obj对象来替换fn中的this 举个栗子: function A(){ this.co ...

  2. 【转】Linux写时拷贝技术(copy-on-write)

    http://www.cnblogs.com/biyeymyhjob/archive/2012/07/20/2601655.html 源于网上资料 COW技术初窥: 在Linux程序中,fork()会 ...

  3. JavaScript与Flash的通信

    当Flash置于HTML容器中时,经常会遇到AS与JS的通信问题,例如:JS能否调用AS中的变量.方法,AS能否调用JS中的变量.方法等等.答案是肯定的.随着技术的不断发展,解决方案也是多种多样的. ...

  4. FFT矩阵

    举个例子: \[{F_4}=\left[{\begin{array}{*{20}{c}}1&1&1&1\\1&i&{-1}&{-i}\\1&{- ...

  5. C++ 空类默认产生的类成员函数

    C++的空类有哪些成员函数:. 缺省构造函数.. 缺省拷贝构造函数.. 缺省析构函数.. 缺省赋值运算符.. 缺省取址运算符.. 缺省取址运算符 const.     注意:有些书上只是简单的介绍了前 ...

  6. JS判断当前手机类型

    window.onload = function () { var u = navigator.userAgent; if (u.indexOf('Android') > -1 || u.ind ...

  7. Linux C++ UDP Socket通信实例

    环境:Linux 语言:C++ 通信方式:UDP 服务器端的步骤如下: 1. socket:      建立一个socket 2. bind:          将这个socket绑定在某个端口上(A ...

  8. 【Mybatis】MyBatis配置文件的使用(二)

    本例在[Mybatis]MyBatis快速入门(一)基础上继续学习XML映射配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properti ...

  9. php代码编写

    在php文件里,写入header('content-type:text/html;charset = uft-8');<!-- ============================== -- ...

  10. McAfee 与 360使用感受

    运维给配的 win 10.4G内存 ,装的 McAfee,每次开机啥事不干内存去了55%, 开齐qq.微信.vscode.浏览器就要冲90%,再多开几个网页电脑就卡得很, 最近,卡死机了.. 然后看了 ...