mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 22:24:47 +02:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d486a0223d | |||
| 707749957a | |||
| f950700a34 | |||
| ee4d039c42 | |||
| 70a970f8ed | |||
| 50a62179d4 | |||
| b01bc3eb21 | |||
| d44762aa43 |
@@ -1,8 +0,0 @@
|
||||
# files/directories excluded from tarballs
|
||||
|
||||
.git* export-ignore
|
||||
debian-devel export-ignore
|
||||
debian-stable export-ignore
|
||||
weechat.spec export-ignore
|
||||
.mailmap export-ignore
|
||||
tools/build-debian.sh export-ignore
|
||||
@@ -1 +0,0 @@
|
||||
custom: https://weechat.org/donate/
|
||||
@@ -1,43 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a bug report (please do not report security issues here)
|
||||
labels: bug
|
||||
|
||||
---
|
||||
|
||||
<!-- Please do not report any security issue here, see file Contributing.adoc -->
|
||||
|
||||
## Bug summary
|
||||
|
||||
|
||||
|
||||
## Steps to reproduce
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## Current behavior
|
||||
|
||||
|
||||
|
||||
## Expected behavior
|
||||
|
||||
|
||||
|
||||
## Suggested solutions
|
||||
|
||||
|
||||
|
||||
## Additional information
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
<!-- MANDATORY INFO: -->
|
||||
|
||||
- WeeChat version:
|
||||
- OS, distribution and version:
|
||||
- Terminal:
|
||||
- Terminal multiplexer (screen/tmux/…/none):
|
||||
@@ -1 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Request a new feature / enhancement
|
||||
labels: feature
|
||||
|
||||
---
|
||||
|
||||
## Feature description
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
name: Question
|
||||
about: Ask a question (please read first FAQ and docs)
|
||||
labels: question
|
||||
|
||||
---
|
||||
|
||||
## Question
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
- WeeChat version:
|
||||
- OS, distribution and version:
|
||||
@@ -1,168 +0,0 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
env:
|
||||
WEECHAT_DEPENDENCIES: devscripts equivs python3-pip libenchant-dev autopoint cmake ninja-build lcov pkg-config libncursesw5-dev gem2deb libperl-dev python2-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.2-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls28-dev libzstd-dev zlib1g-dev curl libcpputest-dev php8.0-dev libphp8.0-embed libargon2-dev libsodium-dev pylint python3-bandit asciidoctor ruby-pygments.rb
|
||||
|
||||
jobs:
|
||||
|
||||
tests_linux:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-20.04
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++", tool: "cmake", args: "" }
|
||||
- { name: "cmake_gcc_ninja", cc: "gcc", cxx: "g++", tool: "cmake", args: "-G Ninja" }
|
||||
- { name: "cmake_gcc_no_nls", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_NLS=OFF" }
|
||||
- { name: "cmake_gcc_py2", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_PYTHON2=ON" }
|
||||
- { name: "cmake_gcc_coverage", cc: "gcc", cxx: "g++", tool: "cmake", args: "-DENABLE_CODE_COVERAGE=ON" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++", tool: "cmake", args: "" }
|
||||
- { name: "autotools_gcc", cc: "gcc", cxx: "g++", tool: "autotools", args: "" }
|
||||
- { name: "autotools_clang", cc: "clang", cxx: "clang++", tool: "autotools", args: "" }
|
||||
|
||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-add-repository --yes ppa:ondrej/php
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes purge php8.1-dev
|
||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }}
|
||||
sudo -H pip3 install --ignore-installed msgcheck
|
||||
|
||||
- name: Check gettext files
|
||||
run: msgcheck po/*.po
|
||||
|
||||
- name: Check Python scripts
|
||||
run: |
|
||||
pylint --additional-builtins=_ doc/docgen.py
|
||||
pylint doc/python_stub.py
|
||||
pylint tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
||||
bandit doc/docgen.py doc/python_stub.py
|
||||
bandit tests/scripts/python/testapigen.py tests/scripts/python/testapi.py tests/scripts/python/unparse.py
|
||||
|
||||
- name: Check Python stub file
|
||||
run: ./doc/python_stub.py | diff src/plugins/python/weechat.pyi -
|
||||
|
||||
- name: Build and run tests
|
||||
env:
|
||||
CC: ${{ matrix.config.cc }}
|
||||
CXX: ${{ matrix.config.cxx }}
|
||||
BUILDTOOL: ${{ matrix.config.tool }}
|
||||
BUILDARGS: ${{ matrix.config.args }}
|
||||
run: ./tools/build-test.sh
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --colors
|
||||
weechat --license
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
|
||||
- name: Code coverage
|
||||
if: ${{ matrix.config.name == 'cmake_gcc_coverage' }}
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
run: |
|
||||
cd build-tmp-*
|
||||
lcov --directory . --capture --output-file coverage.info
|
||||
lcov --remove coverage.info '/usr/*' --output-file coverage.info
|
||||
lcov --list coverage.info
|
||||
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo 'Codecov error'
|
||||
|
||||
tests_macos:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- macos-11
|
||||
- macos-10.15
|
||||
config:
|
||||
- { name: "cmake_gcc", cc: "gcc", cxx: "g++" }
|
||||
- { name: "cmake_clang", cc: "clang", cxx: "clang++" }
|
||||
|
||||
name: "Tests: ${{ matrix.config.name }} on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew update
|
||||
brew install asciidoctor lua ruby
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
CC: ${{ matrix.config.cc }}
|
||||
CXX: ${{ matrix.config.cxx }}
|
||||
run: |
|
||||
mkdir build-tmp && cd build-tmp
|
||||
cmake .. -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_PHP=OFF
|
||||
make VERBOSE=1 -j2
|
||||
sudo make install
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --colors
|
||||
weechat --license
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
|
||||
build_debian:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-20.04
|
||||
|
||||
name: "Build Debian on ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
steps:
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-add-repository --yes ppa:ondrej/php
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get --yes purge php8.1-dev
|
||||
sudo apt-get --yes --no-install-recommends install ${{ env.WEECHAT_DEPENDENCIES }} php-dev
|
||||
|
||||
- name: Test Debian patches
|
||||
run: ./tools/build-debian.sh test-patches
|
||||
|
||||
- name: Build Debian packages
|
||||
run: ./tools/build-debian.sh devel ubuntu/focal
|
||||
|
||||
- name: Install Debian packages
|
||||
run: sudo dpkg -i ../weechat-devel*.deb
|
||||
|
||||
- name: Run WeeChat
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
run: |
|
||||
weechat --help
|
||||
weechat-curses --help
|
||||
weechat --version
|
||||
weechat --run-command "/debug dirs;/debug libs" --run-command "/quit"
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
# ignored files for Git
|
||||
|
||||
*.a
|
||||
*.gmo
|
||||
*.la
|
||||
*.lai
|
||||
*.lo
|
||||
*.m4
|
||||
*.o
|
||||
*.Plo
|
||||
*.Po
|
||||
*.so
|
||||
*.so.0
|
||||
*.so.0.0.0
|
||||
*.1
|
||||
|
||||
ABOUT-NLS
|
||||
autom4te*
|
||||
build/*
|
||||
builddir/*
|
||||
compile
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in*
|
||||
config-git.h
|
||||
config.log
|
||||
config.rpath
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
debian
|
||||
!tools/debian
|
||||
debian-devel/changelog
|
||||
debian-devel/*.log
|
||||
debian-stable/*.log
|
||||
depcomp
|
||||
insert-header.sin
|
||||
install-sh
|
||||
intl/*
|
||||
libtool
|
||||
ltmain.sh
|
||||
Makefile
|
||||
Makefile.in*
|
||||
Makevars.template
|
||||
missing
|
||||
po/*quot*
|
||||
POTFILES
|
||||
remove-potcdate.sed
|
||||
Rules-quot
|
||||
weechat.pc
|
||||
weechat-*.cygport
|
||||
|
||||
*stamp
|
||||
stamp*
|
||||
|
||||
src/gui/curses/weechat
|
||||
src/gui/curses/weechat-curses
|
||||
@@ -1,21 +0,0 @@
|
||||
# Map author and committer names and email addresses to canonical real names
|
||||
# and email addresses.
|
||||
#
|
||||
# For example with these commands:
|
||||
# git shortlog -nse
|
||||
# git shortlog -se | cut -f2 | sort
|
||||
|
||||
Sébastien Helleu <flashcode@flashtux.org>
|
||||
Sébastien Helleu <flashcode@flashtux.org> <flashcode@krypton>
|
||||
Sébastien Helleu <flashcode@flashtux.org> <flashcode>
|
||||
Sébastien Helleu <flashcode@flashtux.org> <uid67137>
|
||||
Nils Görs <weechatter@arcor.de>
|
||||
Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
Krzysztof Korościk <soltys@soltys.info>
|
||||
Krzysztof Korościk <soltys@soltys.info> <soltys1@gmail.com>
|
||||
Krzysztof Korościk <soltys@soltys.info> <soltys@szluug.org>
|
||||
Marco Paolone <marcopaolone@gmail.com>
|
||||
<marcopaolone@gmail.com> <marco@DrB4tch.sitecomwl601>
|
||||
<mikaela.suomalainen@outlook.com> <mkaysi@outlook.com>
|
||||
<simon@arlott.org> <sa.me.uk>
|
||||
<Simon.Kuhnle@cs.fau.de> <simon@blarzwurst.de>
|
||||
@@ -0,0 +1,47 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
Developers:
|
||||
----------
|
||||
|
||||
* General code
|
||||
|
||||
FlashCode <flashcode@flashtux.org>
|
||||
Web : http://weechat.flashtux.org
|
||||
IRC : nick is "FlashCode" @ irc.freenode.net
|
||||
|
||||
* Scripts plugins
|
||||
|
||||
kolter <kolter@openics.org>
|
||||
IRC : nick is "kolter" @ irc.freenode.net
|
||||
|
||||
|
||||
Debian packager:
|
||||
---------------
|
||||
|
||||
Julien Louis <ptitlouis@sysif.net>
|
||||
IRC : nick is "ptitlouis" @ irc.freenode.net
|
||||
Jabber: ptitlouis@amessage.info
|
||||
|
||||
|
||||
Contributors:
|
||||
------------
|
||||
|
||||
Rudolf Polzer <rpolzer-rp@durchnull.de>, IRC: "divVerent"
|
||||
Jiri Golembiovsky <golemj@gmail.com>, IRC: "GolemJ"
|
||||
Jim Ramsay <i.am@jimramsay.com>, IRC: "lack"
|
||||
Odin <odin@dtdm.org>, IRC: "Odin"
|
||||
Pistos, IRC: "pistos"
|
||||
Gwenn, IRC: "gwenn"
|
||||
Voroskoi, IRC: "voroskoi"
|
||||
Frank Zacharias
|
||||
Pavel Shevchuk, IRC: "Stalwart"
|
||||
|
||||
|
||||
=====
|
||||
|
||||
Whole team is connected to IRC:
|
||||
server: irc.freenode.net, channels: #weechat and #weechat-fr (french)
|
||||
|
||||
|
||||
See README file for licence detail.
|
||||
-158
@@ -1,158 +0,0 @@
|
||||
= WeeChat Authors
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
== Developers
|
||||
|
||||
* General code
|
||||
** Sébastien Helleu (FlashCode) <flashcode@flashtux.org>
|
||||
* Scripts plugins, debian packager
|
||||
** Emmanuel Bouthenot (kolter) <kolter@openics.org>
|
||||
|
||||
== Contributors
|
||||
|
||||
Alphabetically:
|
||||
|
||||
* Adam Saponara (adsr)
|
||||
* Adrian Bjugård
|
||||
* Ailin Nemui (Nei)
|
||||
* Aleksey V Zapparov
|
||||
* Alex Tarkovsky
|
||||
* Anders Bergh
|
||||
* Andrew Potter (talisein)
|
||||
* Antoine Pietri (seirl)
|
||||
* Arvydas Sidorenko
|
||||
* Asakura
|
||||
* Bazerka
|
||||
* Benoit Papillault (benoit)
|
||||
* Chris Hills
|
||||
* Christian Duerr
|
||||
* Christian Heinz
|
||||
* Christopher O'Neill (deltafire)
|
||||
* coypoop
|
||||
* Danilo Spinella
|
||||
* David Flatz
|
||||
* Dmitry Kobylin
|
||||
* Dominik Honnef
|
||||
* Dominique Martinet
|
||||
* dotflac
|
||||
* Eduardo Elias
|
||||
* Eli Schwartz
|
||||
* Elizabeth Myers (Elizacat)
|
||||
* Elián Hanisch (m4v)
|
||||
* Emanuele Giaquinta
|
||||
* Emir Sarı
|
||||
* emk
|
||||
* Érico Nogueira
|
||||
* Esteban I. Ruiz Moreno (Exio)
|
||||
* Evgeny Shmarnev
|
||||
* Felix Eckhofer
|
||||
* Frank Zacharias
|
||||
* Fredrik Fornwall
|
||||
* Grant Wu
|
||||
* Gu1ll4um3r0m41n
|
||||
* Guido Berhoerster
|
||||
* Gwenn
|
||||
* Hasan Kiran (turgay)
|
||||
* Ivan Pešić
|
||||
* Ivan Sichmann Freitas
|
||||
* Jakub Jirutka
|
||||
* Jan Palus
|
||||
* Jason A. Donenfeld (zx2c4)
|
||||
* JD Horelick (jdhore)
|
||||
* jesopo
|
||||
* Jim Ramsay (lack)
|
||||
* Jiri Golembiovsky (GolemJ)
|
||||
* Joey Pabalinas (alyptik)
|
||||
* Johan Rylander
|
||||
* Joram Schrijver
|
||||
* Jos Ahrens
|
||||
* Joseph Kichline
|
||||
* Juan Francisco Cantero Hurtado
|
||||
* Julien Louis (ptitlouis)
|
||||
* Karthik K
|
||||
* Koka El Kiwi (KiwiDash)
|
||||
* Krzysztof Koroscik (soltys)
|
||||
* Kyle Fuller (kylef)
|
||||
* Kyle Sabo
|
||||
* Leonid Evdokimov
|
||||
* Lázaro A.
|
||||
* Linus Heckemann
|
||||
* Maarten de Vries
|
||||
* Mantas Mikulėnas (grawity)
|
||||
* Marco Paolone
|
||||
* Marco Sirabella
|
||||
* Mateusz Poszwa
|
||||
* Matt Robinson
|
||||
* Matthew Horan
|
||||
* Matthew Martin
|
||||
* Matti Virkkunen
|
||||
* Max Anton Teufel
|
||||
* Maxim Baz
|
||||
* Michael Siegel
|
||||
* Miroslav Koskar
|
||||
* Murilo Opsfelder Araujo
|
||||
* Neui
|
||||
* Nick (SolitaryCipher)
|
||||
* Nicolas Cavigneaux
|
||||
* Nils Görs (nils_2)
|
||||
* nyuszika7h
|
||||
* Odin
|
||||
* Ondřej Súkup
|
||||
* Patrick Steinhardt
|
||||
* Patrik Janoušek
|
||||
* Paul Komkoff
|
||||
* Pavel Shevchuk (Stalwart)
|
||||
* Peter Boström (pbos)
|
||||
* Phillip Sz
|
||||
* Pierre Carru
|
||||
* Piotr Szymaniak
|
||||
* Pistos
|
||||
* Quentin Glidic (SardemFF7)
|
||||
* Quentin Pradet
|
||||
* Quico Noizeux
|
||||
* rafasc
|
||||
* Raghavendra Prabhu
|
||||
* raspbeguy
|
||||
* Rettub
|
||||
* Rob Campbell
|
||||
* Romero B. de S. Malaquias
|
||||
* Rudolf Polzer (divVerent)
|
||||
* Ruslan Bekenev
|
||||
* Ryan Farley
|
||||
* Ryuunosuke Ayanokouzi
|
||||
* scumjr
|
||||
* Sergio Durigan Junior
|
||||
* Shane McCarron
|
||||
* Shawn Smith
|
||||
* Shun Sakai
|
||||
* Simmo Saan (sim642)
|
||||
* Simon Arlott
|
||||
* Simon Kuhnle
|
||||
* Simon Ser
|
||||
* Stefano Pigozzi
|
||||
* Stfn
|
||||
* Sven Knurr (Cthulhux)
|
||||
* Tim D. Smith
|
||||
* Tim Harder
|
||||
* Tobias Stoeckmann
|
||||
* Tom Alsberg
|
||||
* Tom Fitzhenry
|
||||
* Tomoe Mami
|
||||
* Tor Hveem (xt)
|
||||
* Trevor Bergeron
|
||||
* Valentin Lorentz (progval)
|
||||
* Vasco Almeida
|
||||
* Victorhck
|
||||
* Voroskoi
|
||||
* Wojciech Kwolek
|
||||
* W. Trevor King
|
||||
* Yannick Palanque
|
||||
* ZethJack
|
||||
* Ørjan Malde
|
||||
|
||||
== Contact
|
||||
|
||||
See the https://weechat.org/about/support/[support page].
|
||||
@@ -0,0 +1,5 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
WeeChat known bugs:
|
||||
please look at https://savannah.nongnu.org/bugs/?group=weechat
|
||||
+48
-299
@@ -1,323 +1,72 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
PROJECT(weechat)
|
||||
|
||||
project(weechat C)
|
||||
SET(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
SET(CMAKE_SKIP_RPATH ON)
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W")
|
||||
IF(PREFIX)
|
||||
SET(CMAKE_INSTALL_PREFIX ${PREFIX} CACHE PATH "Install path prefix" FORCE)
|
||||
ENDIF(PREFIX)
|
||||
|
||||
# CMake options
|
||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_SKIP_RPATH ON)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra -Werror-implicit-function-declaration")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -fms-extensions -Wall -Wextra")
|
||||
SET(VERSION 0.2.6.3)
|
||||
SET(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
SET(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/weechat)
|
||||
SET(SHAREDIR ${CMAKE_INSTALL_PREFIX}/share/weechat)
|
||||
SET(LOCALEDIR ${CMAKE_INSTALL_PREFIX}/share/locale)
|
||||
STRING(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
|
||||
|
||||
# version
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-minor OUTPUT_VARIABLE VERSION_MINOR)
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-patch OUTPUT_VARIABLE VERSION_PATCH)
|
||||
string(REGEX REPLACE "\n" "" VERSION_MAJOR "${VERSION_MAJOR}")
|
||||
string(REGEX REPLACE "\n" "" VERSION_MINOR "${VERSION_MINOR}")
|
||||
string(REGEX REPLACE "\n" "" VERSION_PATCH "${VERSION_PATCH}")
|
||||
if(VERSION_PATCH STREQUAL "")
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||
else()
|
||||
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
||||
endif()
|
||||
OPTION(DISABLE_NCURSES "Disable Ncurses interface")
|
||||
OPTION(ENABLE_GTK "Enable GTK interface")
|
||||
OPTION(DISABLE_NLS "Disable Native Language Support")
|
||||
OPTION(DISABLE_GNUTLS "Disable SSLv3/TLS connection support")
|
||||
OPTION(DISABLE_PLUGINS "Disable Plugins support")
|
||||
OPTION(DISABLE_PERL "Disable Perl scripting language")
|
||||
OPTION(DISABLE_PYTHON "Disable Python scripting language")
|
||||
OPTION(DISABLE_RUBY "Disable Ruby scripting language")
|
||||
OPTION(DISABLE_LUA "Disable Lua scripting language")
|
||||
OPTION(DISABLE_ASPELL "Disable Aspell plugin")
|
||||
OPTION(DISABLE_CHARSET "Disable Charset plugin")
|
||||
OPTION(DISABLE_DOC "Disable Doc")
|
||||
|
||||
# license
|
||||
set(LICENSE "GPL3")
|
||||
ADD_SUBDIRECTORY( po )
|
||||
ADD_SUBDIRECTORY( src )
|
||||
IF(NOT DISABLE_DOC)
|
||||
ADD_SUBDIRECTORY( doc )
|
||||
ENDIF(NOT DISABLE_DOC)
|
||||
|
||||
# add definitions for version and license
|
||||
if(COMMAND cmake_policy)
|
||||
cmake_policy(SET CMP0005 NEW)
|
||||
add_definitions(-DWEECHAT_VERSION="${VERSION}" -DWEECHAT_LICENSE="${LICENSE}")
|
||||
else()
|
||||
add_definitions(-DWEECHAT_VERSION='"${VERSION}"' -DWEECHAT_LICENSE='"${LICENSE}"')
|
||||
endif()
|
||||
CONFIGURE_FILE(config.h.cmake config.h @ONLY)
|
||||
|
||||
# package string
|
||||
set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
|
||||
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/makedist.sh.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" IMMEDIATE
|
||||
@ONLY)
|
||||
|
||||
if(NOT DEFINED LIBDIR)
|
||||
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED WEECHAT_LIBDIR)
|
||||
set(WEECHAT_LIBDIR ${LIBDIR}/${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED DATAROOTDIR)
|
||||
set(DATAROOTDIR ${CMAKE_INSTALL_PREFIX}/share)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED WEECHAT_SHAREDIR)
|
||||
set(WEECHAT_SHAREDIR ${DATAROOTDIR}/weechat)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED MANDIR)
|
||||
set(MANDIR ${DATAROOTDIR}/man)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED LOCALEDIR)
|
||||
set(LOCALEDIR ${DATAROOTDIR}/locale)
|
||||
endif()
|
||||
|
||||
if(DEFINED INCLUDEDIR)
|
||||
set(INCLUDEDIR ${INCLUDEDIR}/${PROJECT_NAME})
|
||||
else()
|
||||
set(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
|
||||
endif()
|
||||
|
||||
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
|
||||
option(ENABLE_HEADLESS "Compile the headless binary (required for tests)" ON)
|
||||
option(ENABLE_NLS "Enable Native Language Support" ON)
|
||||
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
|
||||
option(ENABLE_ALIAS "Enable Alias plugin" ON)
|
||||
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
|
||||
option(ENABLE_CHARSET "Enable Charset plugin" ON)
|
||||
option(ENABLE_EXEC "Enable Exec plugin" ON)
|
||||
option(ENABLE_FIFO "Enable FIFO plugin" ON)
|
||||
option(ENABLE_FSET "Enable Fast Set plugin" ON)
|
||||
option(ENABLE_IRC "Enable IRC plugin" ON)
|
||||
option(ENABLE_LOGGER "Enable Logger plugin" ON)
|
||||
option(ENABLE_RELAY "Enable Relay plugin" ON)
|
||||
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
|
||||
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
|
||||
option(ENABLE_PERL "Enable Perl scripting language" ON)
|
||||
option(ENABLE_PYTHON "Enable Python scripting language" ON)
|
||||
option(ENABLE_PYTHON2 "Use Python 2 instead of Python 3" OFF)
|
||||
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
|
||||
option(ENABLE_LUA "Enable Lua scripting language" ON)
|
||||
option(ENABLE_TCL "Enable Tcl scripting language" ON)
|
||||
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
|
||||
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" OFF)
|
||||
option(ENABLE_PHP "Enable PHP scripting language" ON)
|
||||
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
|
||||
option(ENABLE_ENCHANT "Enable Enchant lib for Spell checker plugin" OFF)
|
||||
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
|
||||
option(ENABLE_TYPING "Enable Typing plugin" ON)
|
||||
option(ENABLE_XFER "Enable Xfer plugin" ON)
|
||||
option(ENABLE_MAN "Enable build of man page" OFF)
|
||||
option(ENABLE_DOC "Enable build of documentation" OFF)
|
||||
option(ENABLE_TESTS "Enable tests" OFF)
|
||||
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
|
||||
|
||||
# code coverage
|
||||
add_library(coverage_config INTERFACE)
|
||||
if(ENABLE_CODE_COVERAGE)
|
||||
target_compile_options(coverage_config INTERFACE -O0 -g --coverage)
|
||||
target_link_libraries(coverage_config INTERFACE --coverage)
|
||||
endif()
|
||||
|
||||
# headless mode is required for tests
|
||||
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
|
||||
message(FATAL_ERROR "Headless mode is required for tests.")
|
||||
endif()
|
||||
|
||||
# option WEECHAT_HOME
|
||||
set(WEECHAT_HOME "${WEECHAT_HOME}" CACHE
|
||||
STRING "Force a single WeeChat home directory for config, logs, scripts, etc."
|
||||
FORCE)
|
||||
mark_as_advanced(CLEAR WEECHAT_HOME)
|
||||
|
||||
if(COMMAND cmake_policy)
|
||||
if(POLICY CMP0003)
|
||||
cmake_policy(SET CMP0003 NEW)
|
||||
endif()
|
||||
if(POLICY CMP0017)
|
||||
cmake_policy(SET CMP0017 NEW)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckFunctionExists)
|
||||
include(CheckSymbolExists)
|
||||
|
||||
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
|
||||
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
|
||||
|
||||
check_function_exists(mallinfo HAVE_MALLINFO)
|
||||
check_function_exists(mallinfo2 HAVE_MALLINFO2)
|
||||
|
||||
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
|
||||
|
||||
# Check for Large File Support
|
||||
if(ENABLE_LARGEFILE)
|
||||
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
|
||||
endif()
|
||||
|
||||
# Check for Gettext
|
||||
if(ENABLE_NLS)
|
||||
find_package(Gettext)
|
||||
if(GETTEXT_FOUND)
|
||||
add_definitions(-DENABLE_NLS)
|
||||
find_package(Intl)
|
||||
if(Intl_FOUND)
|
||||
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
|
||||
endif()
|
||||
else()
|
||||
message(SEND_ERROR "Gettext not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Check for libgcrypt
|
||||
find_package(GCRYPT REQUIRED)
|
||||
add_definitions(-DHAVE_GCRYPT)
|
||||
list(APPEND EXTRA_LIBS ${GCRYPT_LDFLAGS})
|
||||
|
||||
# Check for GnuTLS
|
||||
find_package(GnuTLS REQUIRED)
|
||||
string(REGEX REPLACE "/[^/]*$" "" GNUTLS_LIBRARY_PATH "${GNUTLS_LIBRARY}")
|
||||
include_directories(${GNUTLS_INCLUDE_PATH})
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${GNUTLS_LIBRARY_PATH}")
|
||||
list(APPEND EXTRA_LIBS gnutls)
|
||||
|
||||
# Check for zlib
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
# Check for zstd
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(LIBZSTD REQUIRED libzstd)
|
||||
|
||||
# Check for iconv
|
||||
find_package(Iconv)
|
||||
if(ICONV_FOUND)
|
||||
add_definitions(-DHAVE_ICONV)
|
||||
endif()
|
||||
|
||||
# Check for CURL
|
||||
find_package(CURL REQUIRED)
|
||||
|
||||
# weechat_gui_common MUST be the first lib in the list
|
||||
set(STATIC_LIBS weechat_gui_common)
|
||||
|
||||
find_library(DL_LIBRARY
|
||||
NAMES dl
|
||||
PATHS /lib /usr/lib /usr/libexec /usr/local/lib /usr/local/libexec
|
||||
)
|
||||
list(APPEND STATIC_LIBS weechat_plugins)
|
||||
if(DL_LIBRARY)
|
||||
string(REGEX REPLACE "/[^/]*$" "" DL_LIBRARY_PATH "${DL_LIBRARY}")
|
||||
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${DL_LIBRARY_PATH}")
|
||||
list(APPEND EXTRA_LIBS dl)
|
||||
endif()
|
||||
|
||||
add_subdirectory(icons)
|
||||
|
||||
if(ENABLE_NLS)
|
||||
add_subdirectory(po)
|
||||
endif()
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(doc)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
find_package(CppUTest)
|
||||
if(CPPUTEST_FOUND)
|
||||
enable_testing()
|
||||
add_subdirectory(tests)
|
||||
else()
|
||||
message(SEND_ERROR "CppUTest not found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
configure_file(config.h.cmake config.h @ONLY)
|
||||
|
||||
# set the git version in "config-git.h"
|
||||
add_custom_target(version_git ALL
|
||||
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
|
||||
configure_file(
|
||||
CONFIGURE_FILE(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
IMMEDIATE @ONLY
|
||||
)
|
||||
IMMEDIATE @ONLY)
|
||||
|
||||
add_custom_target(uninstall
|
||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
)
|
||||
ADD_CUSTOM_TARGET(uninstall
|
||||
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||
|
||||
add_custom_target(dist
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/tools/makedist.sh" "${VERSION}" "HEAD" "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(dist
|
||||
"${CMAKE_BINARY_DIR}/makedist.sh"
|
||||
DEPENDS doc
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
# pkgconfig file
|
||||
set(PACKAGE "${PROJECT_NAME}")
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(exec_prefix "\${prefix}")
|
||||
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" libdir "${LIBDIR}")
|
||||
set(includedir "\${prefix}/include")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/pkgconfig)
|
||||
|
||||
# cygport file (used to build Cygwin packages)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in ${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport @ONLY)
|
||||
|
||||
# install some files (only on Cygwin)
|
||||
if(CYGWIN)
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/README.adoc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc
|
||||
DESTINATION ${DATAROOTDIR}/doc/${PROJECT_NAME}
|
||||
)
|
||||
endif()
|
||||
|
||||
# desktop file
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop DESTINATION ${DATAROOTDIR}/applications)
|
||||
|
||||
# packages
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
|
||||
set(CPACK_PACKAGE_VENDOR "Sébastien Helleu")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.adoc")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
|
||||
|
||||
# binary package
|
||||
set(CPACK_GENERATOR "STGZ;TGZ;TBZ2")
|
||||
set(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
|
||||
|
||||
# source package
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
|
||||
set(CPACK_SOURCE_IGNORE_FILES
|
||||
"/\\\\.git" "/build/" "/m4/"
|
||||
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
|
||||
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
|
||||
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
|
||||
"/install-sh$" "/missing$" "/intl/" "/libtool$" "/\\\\.libs/"
|
||||
"/ltmain\\\\.sh$" "/\\\\.deps/" "/html/" "/html1/" "/Makefile$"
|
||||
"/Makefile\\\\.in$" "stamp" "/po/.*\\\\.header$" "\\\\.gmo$" "~$" "\\\\.o$"
|
||||
"\\\\.lo$" "\\\\.a$" "\\\\.la$" "\\\\.lai$" "\\\\.Plo$" "/weechat$"
|
||||
)
|
||||
|
||||
include(CPack)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
@@ -0,0 +1,671 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
ChangeLog - 2009-06-13
|
||||
|
||||
|
||||
Version 0.2.6.3 (2009-06-13):
|
||||
* fix gnutls detection (use pkg-config instead of libgnutls-config)
|
||||
(bug #26790)
|
||||
|
||||
Version 0.2.6.2 (2009-04-18):
|
||||
* fix bug with charset decoding (for example with iso2022jp)
|
||||
|
||||
Version 0.2.6.1 (2009-03-14):
|
||||
* fix crash with some special chars in IRC messages (bug #25862)
|
||||
|
||||
Version 0.2.6 (2007-09-06):
|
||||
* fixed bug with log of plugin messages (option log_plugin_msg)
|
||||
* added new option "deloutq" to /server command to delete all servers
|
||||
messages out queues (task #7221)
|
||||
* fixed display bug with some special chars in messages (some words were
|
||||
truncated on screen) (bug #20944)
|
||||
* fixed UTF-8 bug with color encoding/decoding
|
||||
* fixed crash when searching text in buffer with ctrl-R (bug #20938)
|
||||
* added string length limit for setup file options
|
||||
* fixed bug with flock() when home is on NFS filesystem (bug #20913)
|
||||
* added option to align text of messages (except first lines) (task #7246)
|
||||
* fixed user modes in nicklist when ban and nick mode are received in the
|
||||
same MODE message (bug #20870)
|
||||
* fixed IRC message 333: silently ignore message if error when parsing it
|
||||
* fixed server option "command_delay": does not freeze WeeChat any more
|
||||
* added paste detection, new options look_paste_max_lines and
|
||||
col_input_actions (task #5442)
|
||||
* fixed bug with highlight and UTF-8 chars around word (bug #20753)
|
||||
* added swedish quickstart guide
|
||||
* added support of channel mode +u (channel user) (bug #20717)
|
||||
* improved /connect command to connect to a host by creating a temporary
|
||||
server, added option to /server to create temporary server (task #7095)
|
||||
* added "copy", "rename" and "keep" options to /server command
|
||||
* allow clear of multiple selected buffers with /clear (patch #6112)
|
||||
* added key for setting unread marker on all buffers (default:
|
||||
ctrl-S + ctrl-U) (task 7180)
|
||||
* fixed nick prefix display on servers that doesn't support all prefixes
|
||||
(bug #20025)
|
||||
* fixed terminal encoding detection when NLS is disabled (bug #20646)
|
||||
* fixed crash when sending data to channel or pv on disconnected server
|
||||
(bug #20524)
|
||||
* improved command /server ant its output
|
||||
* added 3 default new keys: ctrl-B (left), ctrl-F (right), ctrl-D (delete)
|
||||
* added "buffer_move" event handler to plugins API (task #6708)
|
||||
* added key function "jump_previous_buffer" to jump to buffer previously
|
||||
displayed (new key: alt-J + alt-P) (task #7085)
|
||||
* added "%*" to completion template, to repeat last completion
|
||||
* added "-nojoin" option for /connect and /reconnect commands (task #7074)
|
||||
* fixed bugs with IRC color in messages, now color codes are inserted in
|
||||
command line with ^Cc,^Cb,.. instead of %C,%B,.. (bug #20222, task #7060)
|
||||
* fixed bug with smart nick completion (last speakers first) when a nick
|
||||
is changed
|
||||
* fixed charset bug with channel names in status bar (bug #20400)
|
||||
* added "scroll" option to /buffer command
|
||||
* down key now saves input to history and clears input line (task #7049)
|
||||
* fixed log file when channel name contains "/" (bug #20072)
|
||||
* command /away allowed when not connected to server (internally stored
|
||||
and AWAY command is sent when connecting to server) (task #7003)
|
||||
* added argument for /upgrade command (path to binary)
|
||||
* fixed bug with /topic when channel not open and topic not defined
|
||||
(bug #20141)
|
||||
* added hotlist sort with new option "look_hotlist_sort" (task #5870)
|
||||
|
||||
Version 0.2.5 (2007-06-07):
|
||||
* fixed QUOTE command: now allowed when socket is ok (even if IRC
|
||||
connection to server is not ok) (bug #20113)
|
||||
* added missing IRC commands (327, 378, 379) (bug #20091)
|
||||
* fixed hotlist when exiting search mode: current buffer is removed from
|
||||
hotlist
|
||||
* added "%M" for completion with nicks of current server (nicks on open
|
||||
channels) (task #6931)
|
||||
* improved key bindings: now possible to bind a key on many commands,
|
||||
separated by semicolon (task #5444)
|
||||
* improved IRC long message split: use word boundary (task #6685)
|
||||
* removed ":" for unknown IRC commands before arguments (bug #19929)
|
||||
* fixed "%C" completion: now completes with all channels of all servers
|
||||
* fixed bug with "/buffer query_name", added server and channel completion
|
||||
for /buffer command (bug #19928)
|
||||
* added cmake for weechat compile (patch #5943)
|
||||
* fixed IRC mode parsing when receiving modes with arguments (bug #19902)
|
||||
* fixed crash with IRC JOIN malformed message (bug #19891)
|
||||
* fixed bug with nick prefixes on some IRC servers (bug #19854)
|
||||
* improved setup file save: now writes temporary file, then rename it
|
||||
(task #6847)
|
||||
* fixed bug with $nick/$channel/$server variables in commands
|
||||
* forget current nick when user manually disconnects from server
|
||||
* fixed nick display in input window
|
||||
* fixed bug with erroneous nickname when connecting to server (bug #19812)
|
||||
* fixed display bugs in IRC error messages
|
||||
* added protocol priority for gnutls (patch #5915)
|
||||
* added channel admin mode '!' for some IRC servers
|
||||
* fixed bug with iso2022jp locale (bug #18719)
|
||||
* fixed string format bug when displaying string thru plugin script API
|
||||
* added /reconnect command (task #5448)
|
||||
* added "-all" option for /connect and /disconnect commands (task #6232)
|
||||
* improved nick completion: completion with last speakers first and self
|
||||
nick at the end; added option look_nick_completion_smart, enabled by
|
||||
default (task #5896)
|
||||
* fixed nick completion in command arguments (bug #19590)
|
||||
* fixed possible crash with nick completion when a nick leaves channel
|
||||
(bug #19589)
|
||||
* added color for input text not found in buffer history
|
||||
* fixed USER message when connecting to IRC server (patch #5835)
|
||||
|
||||
Version 0.2.4 (2007-03-29):
|
||||
* fixed color bug with IRC messages displayed by plugins (bug #19442)
|
||||
* fixed topic charset, now using channel charset if defined (bug #19386)
|
||||
* renamed log file for DCC chat (now <server>.dcc.<nick>.weechatlog)
|
||||
* fixed crash when closing a pv if a DCC chat is open on same nick
|
||||
(bug #19147)
|
||||
* fixed bug with channel topic after reconnection (not erased) (bug #19384)
|
||||
* added current buffer in hotlist when scrolling up in buffer (task #6664)
|
||||
* fixed bug with explode_string / free_exploded_string when max_items > 0
|
||||
* added new key (ctrl-R) for interactive and incremental search in buffer
|
||||
history (task #6628)
|
||||
* fixed /topic completion when no topic set on current channel (bug #19322)
|
||||
* improved password hiding, code cleanup (bug #19229)
|
||||
* added new return code in plugin API to force highlight (for message
|
||||
handlers only)
|
||||
* fixed bug with server buffer when "look_one_server_buffer" is ON and
|
||||
server buffer is moved to any number > 1 (bug #19219)
|
||||
* fixed /help command: displays plugin help for redefined commands
|
||||
(bug #19166)
|
||||
* prefix '/' disabled in commands (patch #5769)
|
||||
* fixed completion of redefined commands removed by plugins (bug #19176)
|
||||
* fixed memory leaks in perl and python plugins (bug #19163)
|
||||
* added "call" option to /key command, added new key function "insert" to
|
||||
insert text on command line (task #6468)
|
||||
* fixed permissions on "dcc" and "logs" directories (bug #18978)
|
||||
* added event handler to plugin API
|
||||
* added scots quickstart guide
|
||||
* added numeric argument for /clear command (buffer number) (patch #5372)
|
||||
* fixed crash when /away command is issued with no server connection
|
||||
(bug #18839)
|
||||
* fixed crash when closing a buffer opened on many windows
|
||||
* fixed freeze with SSL server when disconnecting after connection loss
|
||||
(bug #18735)
|
||||
|
||||
Version 0.2.3 (2007-01-10):
|
||||
* fixed display bugs with nicklist at top/bottom when look_nicklist_separator
|
||||
is OFF (bug #18737)
|
||||
* fixed iconv problem, causing truncated words when using iso locale
|
||||
* fixed topic scroll when topic has multi-bytes chars
|
||||
* fixed compilation problem with iconv under FreeBSD
|
||||
* fixed bugs with charset: now decodes/encodes nicks and channels in IRC
|
||||
messages (bug #18716)
|
||||
|
||||
Version 0.2.2 (2007-01-06):
|
||||
* fixed bug with status bar (missing refresh) when closing a buffer
|
||||
* fixed bug with use of first buffer for a channel if not connected
|
||||
to server (now allowed only for a server buffer)
|
||||
* fixed refresh bug with private buffer title
|
||||
* fixed bug with nick completion in command args (now uses option
|
||||
look_nick_completion_ignore)
|
||||
* fixed display bug with color for first line on screen (bug #17719)
|
||||
* added anti-flood option (irc_anti_flood) (task #5442)
|
||||
* fixed bug with "set_config" function in plugins API (bug #18448)
|
||||
* plugins: "add_message_handler" now accepts "*" for all IRC messages
|
||||
* added keys (F9/F10) to scroll topic (task #6030)
|
||||
* added auto completion with channels and filenames (task #5423)
|
||||
* fixed memleak in keyboard input
|
||||
* fixed refresh bug when changing config options if window is splited
|
||||
* added space between chat and nicklist when position is "right" (bug #17852)
|
||||
* added option "look_nicklist_separator" (task #5437)
|
||||
* fixed bug with DCC SEND when filename begins with '~'
|
||||
* added "irc_send_unknown_commands" option to send unknown commands to
|
||||
IRC server (OFF by default) (task #5947)
|
||||
* /charset command and charset conversions now made by "charset" plugin
|
||||
* fixed display bug in status bar, wrong length when using UTF-8
|
||||
* fixed bug with ignore: now any IRC command is allowed
|
||||
* fixed crash with Ctrl-T (transpose) and one char on line (bug #18153)
|
||||
* added filename completion (task #5425)
|
||||
* added "modifier" in plugins API
|
||||
* improved /plugin command
|
||||
* fixed bug on ignore with "mode" IRC command (bug #18058)
|
||||
* fixed crash when loading ruby script if file does not exist, with
|
||||
Ruby >= 1.9 only (bug #18064)
|
||||
* added date in plugin function get_buffer_data()
|
||||
* fixed some portability bugs (patch #5271)
|
||||
* fixed iconv detection for BSD (patch #5456)
|
||||
* fixed typo in configure.in (bash specific test) (patch #5450)
|
||||
* mode changes with /op, /deop, /voice, /devoice, /halfop, /dehalfop are
|
||||
now sent in one mode command to server (task #5968)
|
||||
* added more values for config boolean values: y/true/t/1 and n/false/f/0
|
||||
* fixed bug with /alias and arguments (like $1), now text after
|
||||
argument(s) is used (bug #17944)
|
||||
* fixed minor display bug with special chars on some arch like PPC
|
||||
|
||||
Version 0.2.1 (2006-10-01):
|
||||
* fixed crash for DCC receiver when resuming a file (bug #17885)
|
||||
* fixed DCC error for sender when receiver cancels DCC (bug #17838)
|
||||
* fixed random crash with /upgrade command (error when loading buffers)
|
||||
* fixed buffer search by server/channel: now if only channel is specified,
|
||||
a channel of another server can be found
|
||||
* fixed highlight for DCC, invite and notice: when a window is displaying
|
||||
buffer, there's no highlight
|
||||
* command "/away -all" now allowed when not connected to current server
|
||||
* new signals handled: SIGTERM and SIGHUP (received when terminal is closed):
|
||||
clean WeeChat quit (send quit to irc servers then quit WeeChat)
|
||||
* added some new default key bindings for existing keys (for some OS)
|
||||
* command /key now ok with one arg (key name): display key if found
|
||||
* fixed bug with CTCP VERSION sent on channels (bug #17547)
|
||||
* added current channel completion for /ctcp command
|
||||
* fixed bugs in get_buffer_data() which breaks the retrieval of buffer
|
||||
content (perl, lua)
|
||||
* fixed nicklist display bug when top/bottom (not enough lines) (bug #17537)
|
||||
* fixed bug with auto-rejoin of keyed chans (bug #17534)
|
||||
* added default nick completion when line starts with '//' (bug #17535)
|
||||
* values yes/no accepted (as on/off) for config boolean values (task #5454)
|
||||
* added server default notify level (set by /buffer notify on server buffer)
|
||||
(task #5634)
|
||||
* fixed crashs with /buffer and /charset commands when not connected to any
|
||||
server (bug #17525)
|
||||
* added special vars $nick/$channel/$server for server_command, alias and
|
||||
plugin command handlers
|
||||
* added arguments $1,$2,..,$9 and $* for alias (task #5831)
|
||||
* added hotlist in session file when using /upgrade command (task #5449)
|
||||
* fixed nick refresh problem with unrealircd specific modes: chan owner (~)
|
||||
and chan admin (&) (bug #17340)
|
||||
|
||||
Version 0.2.0 (2006-08-19):
|
||||
* added 'C'lear option on IRC raw buffer
|
||||
* IRC raw buffer now uses join/part prefix with color to display messages
|
||||
* added send of "quit" message to server when using /disconnect
|
||||
* fixed "wallops" command when received, now displayed by WeeChat (bug #17441)
|
||||
* fixed /wallops command (now many words are correctly sent)
|
||||
* fixed command 348 (channel exception list, received by /mode #chan e)
|
||||
* added missing modes (channel & user), now all modes are allowed (bug #16606)
|
||||
* added "%m" for completion with self nick (on current server)
|
||||
* added missing IRC commands (310, 326, 329, 338)
|
||||
* fixed DCC restore after /upgrade (order is now correctly saved)
|
||||
* fixed away after server disconnection (now away is set again when
|
||||
reconnecting) (bug #16359)
|
||||
* fixed DCC file connection problem (connection from receiver to sender)
|
||||
* improved DCC speed (up to x5 on LAN) by forking for DCC files and a
|
||||
new option "dcc_fast_send" (does not wait for ACK) (task #5758)
|
||||
* fixed crash when purging DCC with high number of DCC (> window size)
|
||||
* fixed completion for command handlers (now empty completion_template
|
||||
means nick completion, "-" string means no completion at all)
|
||||
* fixed nick alignment problem when look_nickmode is off
|
||||
* added generic function for incoming numeric IRC commands (bug #16611)
|
||||
* fixed crash when doing "/part something" on a server buffer (bug #17201)
|
||||
* charsets are now checked when set by /charset command
|
||||
* added "look_save_on_exit" option (patch from Emanuele Giaquinta)
|
||||
* fixed crash on DCC buffer under Darwin 8 (bug #17115)
|
||||
* added configure option for doc XSL prefix (bug #16991)
|
||||
* fixed bug with spaces in script names (bug #16957)
|
||||
* fixed random crash when "MODE #chan -l" is received
|
||||
* fixed bug in IRC parser (random crash with malformed IRC messages)
|
||||
* fixed refresh bugs when terminal is resized: too many refreshs,
|
||||
display bug with splited windows
|
||||
* case ignored for channel names in charset options (bug #16858)
|
||||
* fixed crash when setting look_one_server_buffer to ON (bug #16932)
|
||||
* added new functions in plugin/script API: get window info,
|
||||
get buffer info, get buffer content
|
||||
* added polish, russian and czech quickstart guide
|
||||
* fixed display bug with special char (bug #16732)
|
||||
* added color encoding for some commands like /me
|
||||
* added aspell plugin
|
||||
* renamed plugins names (removed "lib" prefix in name)
|
||||
* fixed crash when closing DCC/raw buffer if 2 are open (bug #16808)
|
||||
* fixed crashes with DCC chat remove/purge on DCC view (bug #16775)
|
||||
* fixed bug with connection to bnc (bug #16760)
|
||||
* command /save now writes plugins options (~/.weechat/plugins.rc)
|
||||
* fixed crash with "register" function in plugin scripts (bug #16701)
|
||||
* fixed random crash at exit (/quit or /upgrade) with splited windows
|
||||
|
||||
Version 0.1.9 (2006-05-25):
|
||||
* fixed /squery command (message sent to server, now ok with # args > 2)
|
||||
* fixed /alias command (with an alias name, display content)
|
||||
* improved lua plugin detection (bug #16574)
|
||||
* added backtrace when WeeChat crashes, log file automatically renamed
|
||||
* added lock for log file (~/.weechat/weechat.log), only one WeeChat
|
||||
process can use this file (bug #16382)
|
||||
* fixed crash with malformed UTF-8 strings
|
||||
* fixed crash with ncurses color when too many colors defined in ncurses
|
||||
(bug #16556)
|
||||
* added new key to find previous completion (shift-tab by default)
|
||||
* fixed bug with long outgoing IRC messages (> 512 bytes) (bug #16358)
|
||||
* fixed Ruby crash when handler does not return OK or KO (bug #16552)
|
||||
* fixed UTF-8 display bug with chars using more than one cell on screen
|
||||
(bug #16356)
|
||||
* fixed display bug with DCC file size when > 1 Gb
|
||||
* fixed refresh bug (deadlock in curses) when terminal is resized
|
||||
(bug #16542)
|
||||
* fixed nicklist sort bug
|
||||
* added russian translations (thanks to Pavel Shevchuk)
|
||||
* added german doc (thanks to Frank Zacharias)
|
||||
* added missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974)
|
||||
* fixed crash when multiple pv have same name: now it's forbidden
|
||||
and pv buffer is not renamed (when a nick changes) if another
|
||||
exists with same name (bug #16369)
|
||||
* command /clear [-all] now clears hotlist
|
||||
* fixed crash after /upgrade if a line in history is empty (bug #16379)
|
||||
* fixed many crashes with DCC chat (bug #16416)
|
||||
* added new option to customize input prompt
|
||||
* added nick modes
|
||||
* fixed commands 332, 333 (/topic now ok when channel is not opened)
|
||||
* removed color encoding and charset conversion for commands (only
|
||||
allowed in text sent to channel/private)
|
||||
* added hostnames associeted to nicks (available for /ban completion)
|
||||
* added "+p" mode for channels, fixed mode display in status bar
|
||||
* added nick alignment options
|
||||
* fixed /names command: now displays result when not on a channel
|
||||
* fixed refresh bug (too many refresh) when terminal is resized
|
||||
* fixed nicklist display bugs when on top or bottom of chat window
|
||||
* added keyboard handler to plugin API
|
||||
* improved script plugin loader
|
||||
* added hostname/IP option for connection to server
|
||||
* fixed --disable-plugins option in configure script
|
||||
* added /setp command (set plugin options)
|
||||
* fixed high CPU usage when running under a screen that has been killed
|
||||
* aliases are executed before WeeChat/IRC commands, /builtin command added
|
||||
* added /cycle command, /part command does close buffer any more (use
|
||||
/buffer close (or alias /close) to part and close buffer
|
||||
|
||||
Version 0.1.8 (2006-03-18):
|
||||
* improved Ruby plugin
|
||||
* fixed /set command when internal server name contains one or many dots
|
||||
* fixed get_info plugin API function when no server at all is opened
|
||||
* fixed display bug when top of buffer is displayed and first line is
|
||||
removed (according to "history_max_lines" setting)
|
||||
* fixed /mode command output
|
||||
* improved alias completion (now uses target command for completion)
|
||||
* fixed completion problem in private with nicks
|
||||
* added missing IRC command (487)
|
||||
* added inactivity time, available for plugins via get_info("inactivity")
|
||||
* keys alt-{home|end} to scroll top/bottom, alt-{f11-f12} to scroll
|
||||
nicklist top/bottom
|
||||
* added special names for plugin message handlers: weechat_pv,
|
||||
weechat_highlight, weechat_ctcp, weechat_dcc
|
||||
* script plugins now load scripts in WeeChat system share directory
|
||||
* /msg command does not open any buffer any more
|
||||
* fixed crash when using global history (when older entry is removed)
|
||||
* added IRC raw data buffer (new key: alt-J + alt-R)
|
||||
* fixed display bug with /kill command
|
||||
* added new plugins functions: add_timer_handler, remove_timer_handler,
|
||||
remove_infobar
|
||||
* plugin messages handlers now called when message is ignored (by /ignore)
|
||||
* new behaviour for messages ignored by a message handler: now WeeChat
|
||||
executes standard handler, treating message as "ignored"
|
||||
* many commands allowed for aliases
|
||||
* many commands allowed when connecting to server
|
||||
* added Lua script plugin
|
||||
* added functions in plugins API: get_server_info, free_server_info,
|
||||
get_channel_info, free_channel_info, get_nick_info, free_nick_info
|
||||
* added option "look_nick_complete_first" (patch from Gwenn)
|
||||
* added option "look_open_near_server" (patch from Gwenn)
|
||||
* fixed bug with /upgrade and servers buffer
|
||||
* fixed bug with "get_dcc_info" plugin interface function
|
||||
* added new scroll keys for a few lines up/down (default: meta-pgup/pgdn)
|
||||
(patch from Pistos)
|
||||
* added new option "irc_away_check_max_nicks" to disable away check on
|
||||
channels with high number of nicks (patch from Gwenn)
|
||||
* added new command line argument for setting WeeChat homedir (-d or --dir)
|
||||
(patch from Gwenn)
|
||||
* fixed bug with charset in infobar highlights
|
||||
* fixed bug with buffer detection in plugins/scripts commands
|
||||
* fixed bug with /history command
|
||||
* added option "irc_show_away_once", to show away message only once in pv
|
||||
* added partial hungarian translation
|
||||
|
||||
Version 0.1.7 (2006-01-14):
|
||||
* fixed msg command (now allowed in private buffer with "*" as target)
|
||||
* removed "irc_default_msg_away" setting, for RFC 2812 conformity
|
||||
(/away command wihtout argument only removes away status),
|
||||
new values for "irc_display_away" (off, local, channel)
|
||||
* fixed refresh bug with Solaris when term size is changed
|
||||
* replaced Texinfo doc by XML Docbook
|
||||
* added color for window separators (when splited)
|
||||
* added completion system for plugins/scripts commands
|
||||
* fixed plugins autoload
|
||||
* added charset by server and channel, new command: /charset
|
||||
* added Ruby script plugin
|
||||
* added /upgrade command
|
||||
* added ETA (Estimated Time of Arrival) for DCC files
|
||||
* /nick command is now allowed when not connected to server
|
||||
* added server/channel arg to /buffer command for jumping to buffer
|
||||
* fixed display bug in chat window when a message length equals to window
|
||||
width
|
||||
* added new keys for switching to other windows: alt-W followed by
|
||||
alt-{arrow}
|
||||
* added new keys for scrolling to previous/next highlight: alt-P / alt-N
|
||||
* added "read marker": an indicator for first unread line in a
|
||||
server or channel buffer (new key alt-U to scroll to marker)
|
||||
* new window maganement: custom size for windows, auto resize when
|
||||
terminal is resized
|
||||
* fixed infinite loop when resizing term to small size
|
||||
* added /history command
|
||||
|
||||
Version 0.1.6 (2005-11-11):
|
||||
* new color management system, IRC colors are now correctly
|
||||
displayed and can be removed by new options irc_colors_receive
|
||||
and irc_colors_send
|
||||
* fixed scroll problem when one line is bigger than screen size
|
||||
* added setting for having one server buffer for all servers
|
||||
(look_one_server_buffer)
|
||||
* added setting for ignoring some chars when completing nicks
|
||||
* fixed IRC message parser bug
|
||||
* signal SIGPIPE is now ignored
|
||||
* added partial match for highlights
|
||||
* added dcc_own_ip and dcc_port_range settings
|
||||
* full UTF-8 support, auto-detection of UTF-8 usage (locale)
|
||||
* added "Day changed to [date]" message when day changes
|
||||
* new plugin interface, rewritten from scratch: now loads dynamic C
|
||||
library, and perl/python are script plugins
|
||||
* log options (for server/channel/private) can now be set while
|
||||
WeeChat is running
|
||||
* added channel modes +e and +f
|
||||
* added some missing IRC commands, fixed command 367
|
||||
* added colors for input buffer and current channel of status bar
|
||||
* added online help for config options (with /set full_option_name)
|
||||
* enhanced "smart" hotlist, with names (new options:
|
||||
look_hotlist_names_{count|level|length})
|
||||
|
||||
Version 0.1.5 (2005-09-24):
|
||||
* added /ame command (send CTCP action to all channels of all
|
||||
connected servers)
|
||||
* added setting "irc_notice_as_pv" to see notices as pv
|
||||
* added nicks colors in setup file
|
||||
* fixed DCC bug: delete failed file only if really empty (on disk)
|
||||
* fixed IRC message parser bug
|
||||
* fixed scroll problem (screen moving when scrolling and new line
|
||||
displayed)
|
||||
* fixed infinite loop when scrolling back and displaying long lines
|
||||
* fixed crash when closing a buffer used by more than one window
|
||||
* added some missing IRC commands
|
||||
* fixed DCC display bug (now decodes string according to charset)
|
||||
* added /ignore and /unignore commands
|
||||
* fixed bug with strings comparison (str[n]casecmp) and some locales
|
||||
(like turkish), now using ASCII comparison (thanks to roktas)
|
||||
* signal SIGQUIT is now ignored
|
||||
* fixed refresh bug when one line is bigger than screen size
|
||||
* fixed look_nicklist_min_size and look_nicklist_max_size options
|
||||
* fixed refresh bug when changing channel modes
|
||||
* jump to next server now saves current channel buffer for each server
|
||||
* ctrl-up/ctrl-down keys added to call previous/next command in global
|
||||
history (common to all buffers)
|
||||
|
||||
Version 0.1.4 (2005-07-30):
|
||||
* join and part/quit prefixes (arrows) now displayed with different colors
|
||||
* added "irc_highlight" setting, to get highlight with any word
|
||||
* fixed auto-rejoin for channels with key
|
||||
* fixed /ctcp command (now any command/data allowed)
|
||||
* added /amsg command (send text to all channels of all connected servers)
|
||||
* fixed SIGSEGV handler (now write a core file by aborting program)
|
||||
* fixed statusbar & infobar background refresh problem with some systems
|
||||
* added color for private in hotlist (different than color for highlight)
|
||||
* added DCC resume and timeout
|
||||
* added function for Perl/Python to get DCC list
|
||||
* fixed FIFO pipe (command now authorized on a buffer not connected
|
||||
to an IRC server)
|
||||
* topic completion now decodes UTF-8 string
|
||||
* fixed bug with IRC URL on command line (irc://)
|
||||
* new keyboard management: keys are setup in config file, new command
|
||||
/key was added and some new default keys were added, alt-K key is
|
||||
used to grab key (useful for /key command)
|
||||
* added seconds in infobar time (optional thanks to new setting)
|
||||
* fixed some curses refreshs
|
||||
* channels auto-prefixed by "#" (if no prefix found) for /join command
|
||||
|
||||
Version 0.1.3 (2005-07-02):
|
||||
* proxy support (http, socks4, socks5) with authentification (http, socks5)
|
||||
and ipv6 support (client to proxy)
|
||||
* completion added for config option (with /set command)
|
||||
* commands from users outside channel now authorized (if special user or
|
||||
channel without "n" flag)
|
||||
* added IPv6 support
|
||||
* kill command now received and displayed
|
||||
* added SSL support
|
||||
* channel notify levels are saved in config file (new option
|
||||
"server_notify_levels" for server sections)
|
||||
* part message now accepts %v (replaced by WeeChat version), like quit message
|
||||
* errors while loading perl scripts are now displayed in server buffer
|
||||
(instead of current buffer)
|
||||
* in python scripts, all messages written in stdin and stderr are redirected
|
||||
in server buffer
|
||||
* fix a filename error while loading a python script manually
|
||||
* fixed plugins "print" and "prnt" functions: now ok for writing on server
|
||||
buffers
|
||||
* fixed color problem with new libcurses version
|
||||
* fixed crash when using alt-S or alt-X on DCC buffer (alt-D)
|
||||
* fixed startup crash when config file (~/.weechat/weechat.rc) is not found
|
||||
* improved Perl/Python libs detection for ./configure script
|
||||
|
||||
Version 0.1.2 (2005-05-21):
|
||||
* added Python plugin support, improved Perl interface (and now Perl/Python
|
||||
libraries are checked by configure script)
|
||||
* added nicklist scroll keys (alt+{home/end/pgup/pgdn} or F11/F12)
|
||||
* added transfer rate for DCC files
|
||||
* added "-all" option for /nick command
|
||||
* buffers timestamp can now be changed (new option in config file)
|
||||
* WeeChat now ok under *BSD and Mac OS X
|
||||
* fixed nicklist sort
|
||||
* fixed crash when purging old DCC
|
||||
* fixed crash with 64-bits arch (like AMD64) when converting UTF-8
|
||||
* added missing IRC commands (307, 341, 485, 671)
|
||||
|
||||
Version 0.1.1 (2005-03-20):
|
||||
* added nicks count for channel buffers
|
||||
* added FIFO pipe for remote control
|
||||
* added crash dump when WeeChat receives SIGSEGV (Segmentation fault)
|
||||
* added new display engine: doesn't cut words at end of lines
|
||||
* added DCC send and DCC chat
|
||||
* added /halfop & /dehalfop commands, fixed halfop display bug in nicklist
|
||||
* added /ban, /unban and /kickban commands
|
||||
* added spanish translation
|
||||
* added --irc-commands and --weechat-commands command line options
|
||||
* connection to IRC server is now made by child process (non blocking)
|
||||
* added support for UnrealIrcd ("~" for chan owner, "&" for chan admin)
|
||||
* new key for window switch (now: F5/F6=switch buffer, F7/F8=switch window)
|
||||
* on server buffer, only server messages are logged
|
||||
* improved /help command output
|
||||
* plugins messages are logged with new config option (log_plugin_msg)
|
||||
* fixed /kick command
|
||||
* fixed /invite command (and now invite requests are displayed)
|
||||
* fixed /buffer close command (now ok when disconnected from server)
|
||||
* fixed display bugs when many windows are opened
|
||||
|
||||
Version 0.1.0 (2005-02-12):
|
||||
* improved /window command: now split and merge are ok
|
||||
* away nicks are now displayed with another color (new option: "irc_away_check")
|
||||
* added away indicator in status bar
|
||||
* added lag indicator (and auto-disconnect after a delay if important lag)
|
||||
* improved completion: now completes commands arguments (IRC and internal),
|
||||
when only one completion matches, completion mechanism is stoped (to
|
||||
complete command arg for example)
|
||||
* improved /set command: empty strings are allowed, new colors, server
|
||||
options can be changed while WeeChat is running
|
||||
* added default away/part/quit messages in config file
|
||||
* new [irc] section in config file, option "look_display_away" moved to
|
||||
"irc_display_away"
|
||||
* server messages & errors are all prefixed (by 3 chars, like '-@-')
|
||||
* added new options for charset (UTF-8 support): look_charset_decode,
|
||||
look_charset_encode and look_charset_internal
|
||||
* fixed many memory leaks
|
||||
* fixed colors bug: removed "gray" color (replaced by "default"), colors are
|
||||
ok when terminal has white (or light) background
|
||||
* fixed crash when resizing terminal to small size
|
||||
* fixed crash when multiple servers and big messages received from server
|
||||
* fixed crash when closing some private buffers
|
||||
* fixed crash when unknown section with option(s) in config file
|
||||
* fixed /op, /deop, /voice, /devoice (now ok with many nicks)
|
||||
* fixed /me command (now ok without parameter)
|
||||
* fixed /away command (now ok if not away)
|
||||
* logs are now disabled by default (server/channel/private)
|
||||
|
||||
Version 0.0.9 (2005-01-01):
|
||||
* auto-reconnection to server (new options: server_autoreconnect (on/off),
|
||||
server_autoreconnect_delay (in seconds))
|
||||
* major bug fixed when socket is closed by server (100% CPU usage fixed),
|
||||
and disconnections are now ok (all channels are "closed", history is still
|
||||
visible, and buffer will be used again if reconnection to server)
|
||||
* option "look_remove_colors_from_msgs" is now working
|
||||
* fixed display of nick mode changes
|
||||
* new command "/buffer close" (close any server/channel/private buffer)
|
||||
* /notice command fixed (and display when received from server)
|
||||
* new keys: ctrl+A (=home), ctrl+E (=end), ctrl+W (= ctrl+Backspace),
|
||||
alt-S (switch to server buffer), alt-X (switch to first channel of next
|
||||
server)
|
||||
* added new config option: "server_command_delay" (delay in seconds after
|
||||
startup command for each server)
|
||||
|
||||
Version 0.0.8 (2004-10-30):
|
||||
* /kick command fixed: now ok with many words as reason
|
||||
* nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
|
||||
* auto-rejoin channels when kicked (new config option: server_autorejoin on/off)
|
||||
* added IRC::command function for Perl scripts
|
||||
* fixed bug when adding alias with same name as other
|
||||
* /buffer command developed (buffers list, move and notify)
|
||||
* logging buffers to disk (server/channel/private according to user prefs)
|
||||
* Away now announced in channels, and config option "look_display_away" added
|
||||
to enable/disable this feature
|
||||
* Fixed crash when resizing terminal to very small size
|
||||
* "-MORE-" message is now erased when switching to another buffer
|
||||
* DCC file receive ok (alt-D for DCC view)
|
||||
* /query command now reopens private buffer if already opened
|
||||
* added key for redrawing terminal (ctrl-L)
|
||||
* added key for clearing hotlist (alt-R)
|
||||
|
||||
Version 0.0.7 (2004-08-08):
|
||||
* new "col_status_delimiters" config option
|
||||
* /buffer command added, buffers ordered by number, auto-jump to active
|
||||
buffers (alt-A), jump to buffers by number (alt-number)
|
||||
* /window command added, split terminal horizontally/vertically
|
||||
* unique color for each nick (based on nickname)
|
||||
* action messages are now considered as messages, not crappy joins/parts
|
||||
* fixed display bug when nicklist is displayed at bottom of screen
|
||||
* added history limit (text buffer & commands)
|
||||
* replaced --enable-debug with --with-debug option for ./configure, which is
|
||||
now integer: 1 = compiler debug flag, 2 = same 1 with verbose debug messages
|
||||
in WeeChat (default: 0 = no debug)
|
||||
|
||||
Version 0.0.6 (2004-06-05):
|
||||
* improved channel highlight (priority to message vs join/part)
|
||||
* fixed bug when opened private win and remote user changes his nick
|
||||
* /query command added (starts private conversation)
|
||||
* IRC messages 476, 477 added
|
||||
* /mode command is now ok and channel flags are displayed in status bar
|
||||
* fixed display bug (text was blinking when scrolling)
|
||||
* CTCP Version reply is now in english only and doesn't show host (security reason)
|
||||
|
||||
Version 0.0.5 (2004-02-07):
|
||||
* /set command to modify config options when WeeChat is running
|
||||
* fixed look_nicklist config option, now enables/disables nicklist
|
||||
* secured code to prevent buffer overflows and memory leaks
|
||||
* fixed QUIT IRC command: now sent to all connected servers (not only current)
|
||||
* URL command line parameter to connect to server(s)
|
||||
* new Perl script function to display message in info bar ("IRC::print_infobar")
|
||||
* info bar highlight notifications
|
||||
* info bar timestamp is added to config ("look_infobar_timestamp")
|
||||
* added info bar (optional, "look_infobar" to enable it, "on" by default)
|
||||
* fixed crash with /oper command
|
||||
* for default config file, nick is now based on un*x username (thanks to Witukind)
|
||||
* fixed crash when config file cannot be written
|
||||
* -c (or --config) command line parameter added to see config file options
|
||||
* highlight action messages
|
||||
|
||||
Version 0.0.4 (2004-01-01):
|
||||
* Perl plugin, with auto-load
|
||||
* when private window is created (another user is talking), WeeChat does not
|
||||
switch to this window
|
||||
* highlight when our nick is written in a channel/private window
|
||||
* ctrl-C now intercepted (ignored)
|
||||
* debug messages can be enabled via ./configure --enbale-debug option
|
||||
|
||||
Version 0.0.3 (2003-11-03):
|
||||
* ./configure script to build WeeChat
|
||||
* nicks are now correctly sorted (op, halfop, voice, other)
|
||||
* fixed problem with '353' IRC message (nicklist)
|
||||
* fixed problem when nick is truncated by server
|
||||
* fixed crash when entering text without any server connection
|
||||
* fixed crash when /set command is executed
|
||||
* fixed display bug (text was blinking when scrolling)
|
||||
* french translation
|
||||
* new IRC command: /stats, /service, /squit, /motd, /lusers, /links, /time,
|
||||
/trace, /admin, /info, /servlist, /squery, /who, /whowas, /die, /summon,
|
||||
/users, /wallops, /userhost, /ison, /ctcp ping
|
||||
* code cleanup
|
||||
|
||||
Version 0.0.2 (2003-10-05):
|
||||
* added commands /rehash and /restart
|
||||
* command & auto-join channels when connected to server
|
||||
* new commands for alias: /alias, /unalias (new section in config file)
|
||||
* config is now saved automatically when quitting WeeChat, /save command added
|
||||
* new commands for servers: /server, /connect, /disconnect
|
||||
* added autoconnect flag for each server in config file
|
||||
* added "look_set_title" option in config file
|
||||
* term window title is modified with WeeChat name and version
|
||||
* fixed nicklist display bug
|
||||
* fixed crash when sending command which can only be received
|
||||
* CTCP version returns more info (about OS)
|
||||
|
||||
Version 0.0.1 (2003-09-27):
|
||||
* ncurses GUI with color output
|
||||
* multi-servers
|
||||
* channel windows, with nicklist (position: top, bottom, left or right)
|
||||
* private windows
|
||||
* IRC commands: away, ctcp, deop, devoice, invite, join, kick, kill, list,
|
||||
me, mode, msg, names, nick, notice, op, oper, part, ping, pong, quit,
|
||||
quote, topic, version, voice, whois
|
||||
* WeeChat commands: clear, help, set (partial)
|
||||
* many config options
|
||||
* log file (~/.weechat/weechat.log)
|
||||
* nicklist can be moved on top, bottom, left or right of window
|
||||
-3407
File diff suppressed because it is too large
Load Diff
@@ -1,89 +0,0 @@
|
||||
= Contributing to WeeChat
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
== Reporting bugs
|
||||
|
||||
First, some basic things:
|
||||
|
||||
* Use only English to communicate with developers.
|
||||
* Search in issues if the same problem or feature request has already been
|
||||
reported (a duplicate is waste of time for you and the developers!).
|
||||
* If you can, please check if the problem has been fixed in development version
|
||||
(if you are using a stable release or old version).
|
||||
* Report only one bug or feature request per issue.
|
||||
|
||||
=== Security reports
|
||||
|
||||
Please *DO NOT* file a GitHub issue for security related problems, but send an
|
||||
email to <security@weechat.org> instead.
|
||||
|
||||
=== Required info
|
||||
|
||||
When reporting https://github.com/weechat/weechat/issues[issues] on GitHub,
|
||||
please include:
|
||||
|
||||
* Your *WeeChat version*: the output of `/v` in WeeChat, for example:
|
||||
_WeeChat 1.7-dev (git: v1.6-6-g997f47f)_. +
|
||||
If WeeChat does not start at all, please include the version displayed by
|
||||
`weechat --help` (or the version installed with your package manager).
|
||||
* Your *operating system*: its name and version (examples: Linux Debian Bullseye,
|
||||
FreeBSD 13.0, Windows/Cygwin 64-bit, Windows/Ubuntu 64-bit...).
|
||||
* The *steps to reproduce*: if possible, please include a reproducible example:
|
||||
explain the steps which led you to the problem. +
|
||||
It's even better if you can reproduce the problem with a new config (and no
|
||||
scripts loaded): try `weechat --dir /tmp/weechat` and check if you have the
|
||||
problem here.
|
||||
* The *gdb's backtrace* (only for a crash): if you can reproduce the crash
|
||||
(or if you have a core file), please include the backtrace from gdb (look at
|
||||
https://weechat.org/doc/user/#report_crashes[User's guide] for more info).
|
||||
* The *actual result*.
|
||||
* The *expected result*: the correct result you are expecting.
|
||||
|
||||
[IMPORTANT]
|
||||
Most of times, the WeeChat crash log file (_weechat_crash_YYYYMMDD_xxx.log_) is
|
||||
*NOT USEFUL* to fix the bug, so please report this file *ONLY* if a developer
|
||||
asked you to send it (and be extremely careful, this file can contain personal
|
||||
data like passwords and contents of your chats).
|
||||
|
||||
=== Scripts related issues
|
||||
|
||||
If you are using scripts, they can cause problems/crashes. To check if the
|
||||
problem is related to one script, try to unload them one by one (using
|
||||
command `/script unload <name>`).
|
||||
|
||||
Many issues reported are in fact related to bugs in scripts, so please first
|
||||
check that before reporting any issue on WeeChat itself.
|
||||
|
||||
If you think the problem comes from a specific script, please report the issue
|
||||
in the https://github.com/weechat/scripts/issues[scripts git repository]
|
||||
instead.
|
||||
|
||||
== Translations
|
||||
|
||||
Pull requests on GitHub for fixes or new translations are welcome at any
|
||||
time, for https://github.com/weechat/weechat[WeeChat] and the website
|
||||
https://github.com/weechat/weechat.org[weechat.org].
|
||||
|
||||
To start a translation in a new language (not yet supported), please look at
|
||||
https://weechat.org/doc/dev/#translations[translations]
|
||||
in Developer's guide.
|
||||
|
||||
== Feature requests
|
||||
|
||||
WeeChat is under active development, so your idea may already have been
|
||||
implemented, or scheduled for a future version (you can check in
|
||||
https://weechat.org/dev/[roadmap] or
|
||||
https://github.com/weechat/weechat/milestones[milestones] on GitHub.
|
||||
|
||||
Pull requests on GitHub are welcome for minor new features.
|
||||
|
||||
For major new features, it's better to discuss about it in IRC
|
||||
(server: _irc.libera.chat_, channel _#weechat_).
|
||||
|
||||
Before submitting any pull request, be sure you have read the
|
||||
https://weechat.org/doc/dev/#coding_rules[coding rules]
|
||||
in Developer's guide, which contains info about styles used, naming convention
|
||||
and other useful info.
|
||||
@@ -0,0 +1,274 @@
|
||||
WeeChat FAQ, 2007-09-06
|
||||
=======================
|
||||
|
||||
Intended audience:
|
||||
All WeeChat users.
|
||||
|
||||
Before reading the following:
|
||||
the following Q/A list is *not* exhaustive.
|
||||
It is also possible that you won't find any Q/A that matches your problem.
|
||||
Please read them anyway, they may provide you help in fixing your problem
|
||||
anyway.
|
||||
And even if your problem is listed below, it is possible that the answers don't
|
||||
help you anymore to solve it. Then, please contact us, we will try to help you
|
||||
finding a solution.
|
||||
|
||||
1 - Compiling
|
||||
2 - Using WeeChat
|
||||
3 - Development
|
||||
|
||||
1.1
|
||||
================================================================================
|
||||
Q: I heard about many GUI for WeeChat. How can I compile/use them?
|
||||
|
||||
A: Curses GUI is built by default.
|
||||
To build Gtk, wxWidgets or Qt GUI you've to specify extra options to
|
||||
./configure script:
|
||||
--enable-gtk to enable Gtk GUI
|
||||
--enable-wxwidgets to enable wxWidgets GUI
|
||||
--enable-qt to enable Qt QUI
|
||||
Type ./configure --help to see available options.
|
||||
WARNING: only Curses GUI is ok today. Other GUI are under development!
|
||||
|
||||
|
||||
1.2
|
||||
================================================================================
|
||||
Q: I can't compile WeeChat CVS.
|
||||
|
||||
A: Check that you have latest version of autoconf and automake.
|
||||
WeeChat has been developed with autoconf version 2.59 and automake
|
||||
version 1.9.5.
|
||||
You should have at least these versions in order to compile WeeChat CVS.
|
||||
If you can't or don't want to install these versions, you can download and
|
||||
install "devel package", a package built almost every day, based on CVS.
|
||||
Note that this package may not correspond exactly to CVS base.
|
||||
|
||||
|
||||
2.1
|
||||
================================================================================
|
||||
Q: Why using WeeChat ? X-Chat and Irssi are so good...
|
||||
|
||||
A: Because WeeChat is very light and has new features.
|
||||
Some new features:
|
||||
* many GUI (Curses, Gtk, wxWidgets, Qt)
|
||||
* available in many languages
|
||||
* nicklist available in all GUI
|
||||
* extensible with plugins (C, Perl, Python, Ruby, Lua)
|
||||
* horizontal and vertical window split
|
||||
* infobar highlight
|
||||
* FIFO pipe for remote control
|
||||
* developed from scratch (not based on any other IRC client)
|
||||
* multi-platform
|
||||
* 100% GPL and free
|
||||
This is the "geekest" IRC client ;)
|
||||
|
||||
More info on this page: http://weechat.flashtux.org/features.php
|
||||
|
||||
|
||||
2.2
|
||||
================================================================================
|
||||
Q: I've launched WeeChat, but I'm lost, what can I do?
|
||||
|
||||
A: For help you can type /help. For help about a command, type /help command.
|
||||
Keys and commands are listed in documentation.
|
||||
|
||||
|
||||
2.3
|
||||
================================================================================
|
||||
Q: I heard about "buffers" and "windows", what's the difference?
|
||||
|
||||
A: A window is used when you split screen vertically or horizontally.
|
||||
A buffer is a "view" for a window. Each window displays a buffer, and
|
||||
many windows may display same buffer.
|
||||
Examples of buffers: server messages, channel, DCC list, ..
|
||||
|
||||
|
||||
2.4
|
||||
================================================================================
|
||||
Q: I don't see some chars with accents, what can I do?
|
||||
|
||||
A: For versions < 0.2.3, please upgrade to last stable version.
|
||||
For versions >= 0.2.3 :
|
||||
- check that weechat-curses is linked to libncursesw (warning: needed
|
||||
on most distributions but not all) :
|
||||
ldd /path/to/weechat-curses
|
||||
- check that "Charset" plugin is loaded with /plugin command
|
||||
(if it is not, then you probably need "weechat-plugins" package)
|
||||
- check charset line (on server buffer), you should see ISO-XXXXXX or
|
||||
UTF-8 for terminal charset. If you see ANSI_X3.4-1968 or other values,
|
||||
probably your locale is wrong.
|
||||
- setup global decode value, for example:
|
||||
/setp charset.global.decode = ISO-8859-15
|
||||
- if you are using UTF-8 locale, check that your terminal is UTF-8
|
||||
ready. Terminal recommended for UTF-8 is rxvt-unicode.
|
||||
|
||||
|
||||
2.5
|
||||
================================================================================
|
||||
Q: How can I customize key bindings?
|
||||
|
||||
A: Key bindings are customizable with /key command.
|
||||
Default key Meta-k (usually Alt-k) lets you grab key code and insert it
|
||||
in input zone.
|
||||
|
||||
|
||||
2.6
|
||||
================================================================================
|
||||
Q: How can I load Perl scripts?
|
||||
Are Perl scripts compatible with other IRC clients ?
|
||||
|
||||
A: You can use /perl command to load scripts (default path is
|
||||
~/.weechat/perl).
|
||||
Note that scripts in ~/.weechat/perl/autoload are automatically loaded
|
||||
when WeeChat is starting up.
|
||||
Perl scripts are not compatible with other IRC clients.
|
||||
|
||||
|
||||
2.7
|
||||
================================================================================
|
||||
Q: How can I load Python scripts?
|
||||
Are Python scripts compatible with other IRC clients ?
|
||||
|
||||
A: You can use /python command to load scripts (default path is
|
||||
~/.weechat/python).
|
||||
Note that scripts in ~/.weechat/python/autoload are automatically loaded
|
||||
when WeeChat is starting up.
|
||||
Python scripts are not compatible with other IRC clients.
|
||||
|
||||
|
||||
2.8
|
||||
================================================================================
|
||||
Q: How can I load Ruby scripts?
|
||||
Are Ruby scripts compatible with other IRC clients ?
|
||||
|
||||
A: You can use /ruby command to load scripts (default path is
|
||||
~/.weechat/ruby).
|
||||
Note that scripts in ~/.weechat/ruby/autoload are automatically loaded
|
||||
when WeeChat is starting up.
|
||||
Ruby scripts are not compatible with other IRC clients.
|
||||
|
||||
|
||||
2.9
|
||||
================================================================================
|
||||
Q: How can I load Lua scripts?
|
||||
Are Lua scripts compatible with other IRC clients ?
|
||||
|
||||
A: You can use /lua command to load scripts (default path is
|
||||
~/.weechat/lua).
|
||||
Note that scripts in ~/.weechat/lua/autoload are automatically loaded
|
||||
when WeeChat is starting up.
|
||||
Lua scripts are not compatible with other IRC clients.
|
||||
|
||||
|
||||
2.10
|
||||
================================================================================
|
||||
Q: When I'm using weechat under screen, I have weird chars, when I switch
|
||||
window for example, how to fix that?
|
||||
|
||||
A: This may be caused by bad value of TERM variable (look at echo $TERM).
|
||||
For example, "xterm-color" displays such weird chars, use "xterm" which
|
||||
is ok (like many other values).
|
||||
|
||||
|
||||
2.11
|
||||
================================================================================
|
||||
Q: I want to change language used by WeeChat for messages, but without
|
||||
exiting WeeChat, is it possible?
|
||||
|
||||
A: Yes, you have to use python script shell.py (available on WeeChat
|
||||
website) and issue these commands when script is loaded:
|
||||
/shell setenv LANG=en_US.UTF-8
|
||||
/upgrade
|
||||
(to have english messages with UTF-8 encoding for terminal, for ISO
|
||||
users, you can issue: /shell setenv LANG=en_US)
|
||||
|
||||
|
||||
2.12
|
||||
================================================================================
|
||||
Q: With Curses GUI, how can I copy/paste text without pasting nicklist ?
|
||||
|
||||
A: You can use a terminal with rectangular selection (like rxvt-unicode,
|
||||
konsole, ...).
|
||||
Other solution is to move nicklist to top or bottom, for example:
|
||||
/set look_nicklist_position = top
|
||||
|
||||
|
||||
2.13
|
||||
================================================================================
|
||||
Q: How to be warned when someone highlights me on a channel ?
|
||||
|
||||
A: You can use sound.pl script (available on scripts page), and then
|
||||
setup a system command (to play sound, display message, ..) with this
|
||||
command :
|
||||
/setp perl.sound.cmd_highlight = "/usr/bin/command arguments..."
|
||||
|
||||
|
||||
3.1
|
||||
================================================================================
|
||||
Q: How should I report bugs?
|
||||
|
||||
A: There is 3 ways to report bugs:
|
||||
1. you can join us on IRC: irc.freenode.net, channel #weechat
|
||||
2. you can submit your bug at this URL:
|
||||
http://savannah.nongnu.org/bugs/?func=addbug&group=weechat
|
||||
3. you can mail your problem, look at support page for developer's mails:
|
||||
http://weechat.flashtux.org/support.php
|
||||
(you can subscribe and send to "support" mailing list)
|
||||
|
||||
|
||||
3.2
|
||||
================================================================================
|
||||
Q: How should I submit patches?
|
||||
|
||||
A: There is 3 ways to submit patches:
|
||||
1. you can join us on IRC: irc.freenode.net, channel #weechat
|
||||
2. you can submit your patch at this URL:
|
||||
http://savannah.nongnu.org/patch/?func=addpatch&group=weechat
|
||||
3. you can mail your patch, look at support page for developer's mails:
|
||||
http://weechat.flashtux.org/support.php
|
||||
(you can subscribe and send to "support" mailing list)
|
||||
|
||||
|
||||
3.3
|
||||
================================================================================
|
||||
Q: How should I submit new feature request?
|
||||
|
||||
A: There is 2 ways to submit your feature request:
|
||||
1. you can join us on IRC: irc.freenode.net, channel #weechat
|
||||
2. you can mail your feature request, look at support page for developer's
|
||||
mails:
|
||||
http://weechat.flashtux.org/support.php
|
||||
(you can subscribe and send to "support" mailing list)
|
||||
|
||||
|
||||
3.4
|
||||
================================================================================
|
||||
Q: What is the list of supported platforms for WeeChat?
|
||||
|
||||
A: Full list is on this page:
|
||||
http://weechat.flashtux.org/download.php?lang=en&view=supported_os
|
||||
|
||||
|
||||
3.5
|
||||
================================================================================
|
||||
Q: Will WeeChat be ported to QNX or other operating systems?
|
||||
|
||||
A: Yes. Future versions will be available for these OS.
|
||||
We need help for such systems, any help is welcome :)
|
||||
|
||||
|
||||
3.6
|
||||
================================================================================
|
||||
Q: I want to help WeeChat developers. What can I do?
|
||||
|
||||
A: There's many tasks to do (code, documentation, ...)
|
||||
Please contact us with IRC or mail, look at support page:
|
||||
http://weechat.flashtux.org/support.php
|
||||
|
||||
|
||||
3.7
|
||||
================================================================================
|
||||
Q: Can I give money or other things to WeeChat developers?
|
||||
|
||||
A: You can give us money to help development.
|
||||
Details on http://weechat.flashtux.org/donate.php?lang=en
|
||||
@@ -0,0 +1,292 @@
|
||||
WeeChat FAQ, 2007-09-06
|
||||
=======================
|
||||
|
||||
Public concerné :
|
||||
Tous les utilisateurs de WeeChat.
|
||||
|
||||
Avant de lire la suite ceci :
|
||||
la liste suivante de questions/réponses n'est *pas* exhaustive.
|
||||
Il est donc possible que vous ne trouviez pas de question/réponse correspondant
|
||||
à votre problème.
|
||||
Lisez les quand même SVP, elles peuvent vous aider à corriger votre problème.
|
||||
Et même si votre problème est mentionné ci-dessous, il est possible que la
|
||||
réponse ne vous aide pas à corriger le problème. Dans ce cas, contactez-nous,
|
||||
nous essaierons de vous aider à trouver une solution.
|
||||
|
||||
1 - Compilation
|
||||
2 - Utilisation de WeeChat
|
||||
3 - Développement
|
||||
|
||||
1.1
|
||||
================================================================================
|
||||
Q: J'ai entendu parler de plusieurs interfaces pour WeeChat.
|
||||
Comment puis-je les compiler/utiliser ?
|
||||
|
||||
R: L'interface Curses est construite par défaut.
|
||||
Pour construire l'interface Gtk, wxWidgets ou Qt, vous devez spécifier des
|
||||
options pour le script ./configure :
|
||||
--enable-gtk pour activer l'interface Gtk
|
||||
--enable-wxwidgets pour activer l'interface wxWidgets
|
||||
--enable-qt pour activer l'interface Qt
|
||||
Tapez ./configure --help pour voir les options disponibles.
|
||||
ATTENTION : seule l'interface Curses est ok aujourd'hui.
|
||||
Les autres interfaces sont en développement.
|
||||
|
||||
|
||||
1.2
|
||||
================================================================================
|
||||
Q: Je ne peux pas compiler le CVS WeeChat.
|
||||
|
||||
R: Vérifiez que vous avez bien la dernière version d'autoconf et automake.
|
||||
WeeChat a été développé avec autoconf version 2.59 et automake
|
||||
version 1.9.5.
|
||||
Vous devez avoir au moins ces versions pour compiler le CVS WeeChat.
|
||||
Si vous n'avez pas ou ne souhaitez pas installer ces versions, vous
|
||||
pouvez télécharger et installer le paquet "devel", un paquet construit
|
||||
quasiment tous les jours, basé sur le CVS.
|
||||
Notez que ce paquet peut ne pas correspondre exactement à la base CVS.
|
||||
|
||||
|
||||
2.1
|
||||
================================================================================
|
||||
Q: Pourquoi utiliser WeeChat ? X-Chat et Irssi sont si bien...
|
||||
|
||||
R: Parce que WeeChat est très léger et a de nouvelles fonctionnalités.
|
||||
Quelques nouvelles fonctionnalités :
|
||||
* plusieurs interfaces (Curses, Gtk, wxWidgets, Qt)
|
||||
* disponible en plusieurs langues
|
||||
* liste des pseudos disponible dans toutes les interfaces
|
||||
* extensible par des extensions (C, Perl, Python, Ruby, Lua)
|
||||
* découpage de la fenêtre horizontalement et verticalement
|
||||
* highlight dans la barre d'infos
|
||||
* tube FIFO pour contrôle à distance
|
||||
* développé à partir de zéro (non basé sur un quelconque client IRC)
|
||||
* multi-platformes
|
||||
* 100% GPL et libre
|
||||
C'est le client IRC le plus "geek" ;)
|
||||
|
||||
Plus d'infos sur cette page: http://weechat.flashtux.org/features.php
|
||||
|
||||
|
||||
2.2
|
||||
================================================================================
|
||||
Q: J'ai lancé WeeChat, mais je suis perdu, que puis-je faire ?
|
||||
|
||||
R: Pour obtenir de l'aide tapez /help. Pour de l'aide sur une commande,
|
||||
tapez /help commande.
|
||||
Les touches et commandes sont listées dans la documentation.
|
||||
|
||||
|
||||
2.3
|
||||
================================================================================
|
||||
Q: J'ai entendu parler de "buffers" et "windows", quelle est la
|
||||
différence ?
|
||||
|
||||
R: Une fenêtre ("window") est utilisée quand vous partagez l'écran
|
||||
verticalement ou horizontalement.
|
||||
Un tampon ("buffer") est une "vue" pour une fenêtre. Chaque fenêtre
|
||||
affiche un tampon, et plusieurs fenêtres peuvent afficher le même
|
||||
tampon.
|
||||
Exemples de tampons: messages serveur, canal, liste des DCC, etc...
|
||||
|
||||
|
||||
2.4
|
||||
================================================================================
|
||||
Q: Je ne vois pas bien certains accents dans WeeChat, que faire ?
|
||||
|
||||
R: Pour les versions < 0.2.3, merci d'installer la dernière version stable.
|
||||
Pour les versions >= 0.2.3 :
|
||||
- vérifiez que weechat-curses est lié avec libncursesw (attention:
|
||||
nécessaire sur beaucoup de distributions, mais pas toutes) :
|
||||
ldd /chemin/vers/weechat-curses
|
||||
- vérifiez que l'extension "Charset" est chargée avec la commande
|
||||
/plugin (s'il ne l'est pas, vous devez peut-être installer le
|
||||
paquet "weechat-plugins")
|
||||
- vérifiez la ligne charset (sur le tampon serveur), vous devriez voir
|
||||
ISO-XXXXXX ou UTF-8 pour le charset du terminal. Si vous voyez
|
||||
ANSI_X3.4-1968 ou d'autres valeurs, votre locale est probablement
|
||||
erronée.
|
||||
- affectez la valeur pour le décodage global, par exemple :
|
||||
/setp charset.global.decode = ISO-8859-15
|
||||
- si vous utilisez la locale UTF-8, vérifiez que votre terminal est
|
||||
compatible UTF-8. Un terminal conseillé pour l'UTF-8 est rxvt-unicode.
|
||||
|
||||
|
||||
2.5
|
||||
================================================================================
|
||||
Q: Comment puis-je configurer les raccourcis clavier ?
|
||||
|
||||
R: Les raccourcis clavier sont modifiables avec la commande /key.
|
||||
La touche par défaut Meta-k (souvent Alt-k) permet de capturer le code
|
||||
d'une touche et de l'inclure dans la zone de saisie.
|
||||
|
||||
|
||||
2.6
|
||||
================================================================================
|
||||
Q: Comment puis-je charger des scripts Perl ?
|
||||
Les scripts Perl sont-ils compatibles avec d'autres clients IRC ?
|
||||
|
||||
R: La commande /perl permet de charger les scripts Perl (le chemin par défaut
|
||||
est ~/.weechat/perl).
|
||||
Notez que les scripts dans ~/.weechat/perl/autoload sont automatiquement
|
||||
chargés par WeeChat lorsqu'il démarre.
|
||||
Les scripts Perl ne sont pas compatibles avec d'autres clients IRC.
|
||||
|
||||
|
||||
2.7
|
||||
================================================================================
|
||||
Q: Comment puis-je charger les scripts Python ?
|
||||
Les scripts Python sont-ils compatibles avec d'autres clients IRC ?
|
||||
|
||||
R: La commande /python permet de charger les scripts Python (le chemin par
|
||||
défaut est ~/.weechat/python).
|
||||
Notez que les scripts dans ~/.weechat/python/autoload sont automatiquement
|
||||
chargés par WeeChat lorsqu'il démarre.
|
||||
Les scripts Python ne sont pas compatibles avec d'autres clients IRC.
|
||||
|
||||
|
||||
2.8
|
||||
================================================================================
|
||||
Q: Comment puis-je charger des scripts Ruby ?
|
||||
Les scripts Ruby sont-ils compatibles avec d'autres clients IRC ?
|
||||
|
||||
R: La commande /ruby permet de charger les scripts Ruby (le chemin par
|
||||
défaut est ~/.weechat/ruby).
|
||||
Notez que les scripts dans ~/.weechat/ruby/autoload sont automatiquement
|
||||
chargés par WeeChat lorsqu'il démarre.
|
||||
Les scripts Ruby ne sont pas compatibles avec d'autres clients IRC.
|
||||
|
||||
|
||||
2.9
|
||||
================================================================================
|
||||
Q: Comment puis-je charger des scripts Lua ?
|
||||
Les scripts Lua sont-ils compatibles avec d'autres clients IRC ?
|
||||
|
||||
R: La commande /lua permet de charger les scripts Lua (le chemin par
|
||||
défaut est ~/.weechat/lua).
|
||||
Notez que les scripts dans ~/.weechat/lua/autoload sont automatiquement
|
||||
chargés par WeeChat lorsqu'il démarre.
|
||||
Les scripts Lua ne sont pas compatibles avec d'autres clients IRC.
|
||||
|
||||
|
||||
2.10
|
||||
================================================================================
|
||||
Q: Quand j'utilise weechat sous screen, j'ai des caractères bizarres
|
||||
notamment en changeant de fenêtre, comment corriger ça ?
|
||||
|
||||
R: Cela peut être du à la variable TERM qui n'a pas la bonne valeur
|
||||
(regardez echo $TERM). Par exemple "xterm-color" provoque ce genre de
|
||||
problèmes, utilisez "xterm" qui est ok (comme plein d'autres valeurs).
|
||||
|
||||
|
||||
2.11
|
||||
================================================================================
|
||||
Q: Je souhaite changer la langue des messages affichés par WeeChat, mais
|
||||
sans quitter WeeChat, est-ce possible ?
|
||||
|
||||
R: Oui, il faut utiliser le script python shell.py (disponible sur le site
|
||||
de WeeChat) et taper ces commandes une fois le script chargé :
|
||||
/shell setenv LANG=en_US.UTF-8
|
||||
/upgrade
|
||||
(pour avoir des messages anglais avec encodage UTF-8 pour le terminal,
|
||||
pour les utilisateurs en ISO, vous pouvez taper:
|
||||
/shell setenv LANG=en_US)
|
||||
|
||||
|
||||
2.12
|
||||
================================================================================
|
||||
Q: Avec l'interface Curses, comment puis-je copier/coller du texte sans
|
||||
coller la liste des pseudos ?
|
||||
|
||||
R: Vous pouvez utiliser un terminal qui propose la sélection rectangulaire
|
||||
(comme rxvt-unicode, konsole, etc...).
|
||||
Une autre solution est de déplacer la liste des pseudos en haut ou en
|
||||
bas, par exemple :
|
||||
/set look_nicklist_position = top
|
||||
|
||||
|
||||
2.13
|
||||
================================================================================
|
||||
Q: Comment être averti lorsque quelqu'un prononce mon pseudo sur un canal ?
|
||||
|
||||
R: Vous pouvez utiliser le script sound.pl (disponible sur la page des
|
||||
scripts), puis configurer une commande système (jouant un son, affichant
|
||||
un message à l'écran, etc...) comme ceci :
|
||||
/setp perl.sound.cmd_highlight = "/usr/bin/commande parametres..."
|
||||
|
||||
|
||||
3.1
|
||||
================================================================================
|
||||
Q: Comment dois-je reporter les bugs ?
|
||||
|
||||
R: Il y a 3 manières de reporter les bugs :
|
||||
1. vous pouvez nous joindre sur IRC: irc.freenode.net, canal #weechat
|
||||
2. vous pouvez soumettre votre bug à cette adresse :
|
||||
http://savannah.nongnu.org/bugs/?func=addbug&group=weechat
|
||||
3. vous pouvez envoyer votre problème par mail, consultez la page
|
||||
support pour les mails des développeurs :
|
||||
http://weechat.flashtux.org/support.php
|
||||
(vous pouvez souscrire et envoyer à la liste de diffusion
|
||||
"support")
|
||||
|
||||
|
||||
3.2
|
||||
================================================================================
|
||||
Q: Comment dois-je soumettre les patches ?
|
||||
|
||||
R: Il y a 3 manières de soumettre les patches :
|
||||
1. vous pouvez nous joindre sur IRC: irc.freenode.net, canal #weechat
|
||||
2. vous pouvez soumettre votre patch à cette adresse :
|
||||
http://savannah.nongnu.org/patch/?func=addpatch&group=weechat
|
||||
3. vous pouvez envoyer votre patch par mail, consultez la page
|
||||
support pour les mails des développeurs :
|
||||
http://weechat.flashtux.org/support.php
|
||||
(vous pouvez souscrire et envoyer à la liste de diffusion
|
||||
"support")
|
||||
|
||||
|
||||
3.3
|
||||
================================================================================
|
||||
Q: Comment dois-je soumettre les demandes de nouvelles fonctionnalités ?
|
||||
|
||||
R: Il y a 2 manières :
|
||||
1. vous pouvez nous joindre sur IRC: irc.freenode.net, channel #weechat
|
||||
2. vous pouvez envoyer un mail, consultez la page support pour les
|
||||
mails des développeurs :
|
||||
http://weechat.flashtux.org/support.php
|
||||
(vous pouvez souscrire et envoyer à la liste de diffusion
|
||||
"support")
|
||||
|
||||
|
||||
3.4
|
||||
================================================================================
|
||||
Q: Quelle est la liste des plate-formes supportées par WeeChat ?
|
||||
|
||||
R: La liste complète est sur cette page :
|
||||
http://weechat.flashtux.org/download.php?lang=fr&view=supported_os
|
||||
|
||||
|
||||
3.5
|
||||
================================================================================
|
||||
Q: WeeChat sera-t-il porté sur QNX ou d'autres systèmes d'exploitation ?
|
||||
|
||||
R: Oui. Les futures versions seront disponibles pour ces OS.
|
||||
Nous avons besoin d'aide pour ces systèmes, toute aide est la bienvenue :)
|
||||
|
||||
|
||||
3.6
|
||||
================================================================================
|
||||
Q: Je souhaiterai aider les développeurs WeeChat. Que puis-je faire ?
|
||||
|
||||
R: Il y a plusieurs choses à faire (code, documentation, ...)
|
||||
Merci de prendre contact avec nous par IRC ou mail, consultez la page
|
||||
support :
|
||||
http://weechat.flashtux.org/support.php
|
||||
|
||||
|
||||
3.7
|
||||
================================================================================
|
||||
Q: Puis-je donner de l'argent ou d'autres choses aux développeurs WeeChat ?
|
||||
|
||||
R: Vous pouvez donner de l'argent pour aider le développement.
|
||||
Plus de détails sur http://weechat.flashtux.org/donate.php
|
||||
@@ -0,0 +1,13 @@
|
||||
WeeChat - Installation instructions
|
||||
===================================
|
||||
|
||||
1) Run './configure'
|
||||
(./configure --help so see options)
|
||||
|
||||
2) Run 'make'
|
||||
|
||||
3) As root, run 'make install'
|
||||
|
||||
4) Enjoy ! :-)
|
||||
|
||||
See AUTHORS for support, feel free to contact us for any problem.
|
||||
+14
-65
@@ -1,80 +1,29 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# This target will update file config-git.h with output of command "git describe"
|
||||
# (if needed, and only for a devel/rc version).
|
||||
BUILT_SOURCES = build-config-git.h
|
||||
build-config-git.h:
|
||||
-$(abs_top_srcdir)/tools/git-version.sh "$(abs_top_srcdir)" "$(VERSION)" config-git.h
|
||||
SUBDIRS = po doc intl src
|
||||
|
||||
if TESTS
|
||||
tests_dir = tests
|
||||
endif
|
||||
|
||||
SUBDIRS = icons po doc intl src $(tests_dir)
|
||||
|
||||
EXTRA_DIST = AUTHORS.adoc \
|
||||
ChangeLog.adoc \
|
||||
Contributing.adoc \
|
||||
README.adoc \
|
||||
ReleaseNotes.adoc \
|
||||
CMakeLists.txt \
|
||||
config.rpath \
|
||||
config.h.cmake \
|
||||
cmake/CMakeParseArguments.cmake \
|
||||
cmake/FindAsciidoctor.cmake \
|
||||
cmake/FindAspell.cmake \
|
||||
cmake/FindCppUTest.cmake \
|
||||
cmake/FindENCHANT.cmake \
|
||||
cmake/FindGCRYPT.cmake \
|
||||
cmake/FindGettext.cmake \
|
||||
cmake/FindGnuTLS.cmake \
|
||||
cmake/FindGuile.cmake \
|
||||
cmake/FindIconv.cmake \
|
||||
cmake/FindLua.cmake \
|
||||
cmake/FindNcurses.cmake \
|
||||
cmake/FindPerl.cmake \
|
||||
cmake/FindPkgConfig.cmake \
|
||||
cmake/FindPython.cmake \
|
||||
cmake/FindRuby.cmake \
|
||||
cmake/FindV8.cmake \
|
||||
cmake/FindZLIB.cmake \
|
||||
cmake/cmake_uninstall.cmake.in \
|
||||
po/CMakeLists.txt \
|
||||
po/srcfiles.cmake \
|
||||
tools/build-test.sh \
|
||||
tools/git-version.sh \
|
||||
tools/makedist.sh \
|
||||
version.sh \
|
||||
weechat.desktop \
|
||||
weechat.pc.in \
|
||||
weechat.cygport.in
|
||||
EXTRA_DIST = config.rpath BUGS FAQ FAQ.fr \
|
||||
debian/changelog debian/control \
|
||||
debian/copyright debian/compat \
|
||||
debian/rules debian/weechat-common.docs \
|
||||
debian/lintian-override \
|
||||
debian/weechat-common.install debian/weechat-curses.dirs \
|
||||
debian/weechat-curses.install debian/weechat-plugins.install \
|
||||
debian/weechat-curses.menu debian/NEWS debian/weechat.xpm \
|
||||
weechat.spec weechat_icon_32.png
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = weechat.pc
|
||||
|
||||
desktopdir = $(datadir)/applications
|
||||
desktop_DATA = weechat.desktop
|
||||
|
||||
clean-local:
|
||||
$(RM) config-git.h
|
||||
|
||||
@@ -0,0 +1,208 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
* FlashCode, 2009-06-13
|
||||
|
||||
WeeChat 0.2.6.3 released.
|
||||
|
||||
This version fixes gnutls detection.
|
||||
|
||||
* FlashCode, 2009-04-18
|
||||
|
||||
WeeChat 0.2.6.2 released.
|
||||
|
||||
This version fixes a bug with charset decoding (like iso2022jp).
|
||||
|
||||
* FlashCode, 2009-03-14
|
||||
|
||||
WeeChat 0.2.6.1 released.
|
||||
|
||||
This version fixes a major bug: crash with some special chars in IRC
|
||||
messages.
|
||||
|
||||
* FlashCode, 2007-09-06
|
||||
|
||||
WeeChat 0.2.6 released.
|
||||
|
||||
* FlashCode, 2007-06-07
|
||||
|
||||
WeeChat 0.2.5 released.
|
||||
|
||||
* FlashCode, 2007-03-29
|
||||
|
||||
WeeChat 0.2.4 released.
|
||||
|
||||
* FlashCode, 2007-01-10
|
||||
|
||||
WeeChat 0.2.3 released.
|
||||
|
||||
This version fixes several major bugs of version 0.2.2.
|
||||
All users of version 0.2.2 should upgrade to this version.
|
||||
|
||||
* FlashCode, 2007-01-06
|
||||
|
||||
WeeChat 0.2.2 released.
|
||||
|
||||
Important release notes:
|
||||
|
||||
- new charset plugin:
|
||||
- for users of any previous version, all your charset settings
|
||||
in weechat.rc will be LOST! You should save your weechat.rc
|
||||
to keep your values and set them again with new "charset" plugin.
|
||||
- for ISO users: history of channels may be without accents
|
||||
(after /upgrade), this is not recoverable, but this is not a bug.
|
||||
All new messages should be ok.
|
||||
- be careful, now default encode is UTF-8 for all channels (before
|
||||
it was terminal charset). If you still want to send messages as
|
||||
ISO-8859-1, you should send either global encode or server specific
|
||||
encode to ISO-8859-1.
|
||||
For global encode: /setp charset.global.encode = "ISO-8859-1"
|
||||
For server encode: (on server buffer) /charset encode ISO-8859-1
|
||||
- new keys for topic scroll:
|
||||
- new keys for scrolling topic: F9/F10
|
||||
- key F10 was used for "infobar_clear" in previous WeeChat versions,
|
||||
you have to manually rebind this key (except for new WeeChat users):
|
||||
/key <press alt-k then F10> scroll_topic_right
|
||||
which gives something like this:
|
||||
/key meta2-21~ scroll_topic_right
|
||||
|
||||
* FlashCode, 2006-10-01
|
||||
|
||||
WeeChat 0.2.1 released.
|
||||
|
||||
* FlashCode, 2006-08-19
|
||||
|
||||
WeeChat 0.2.0 released.
|
||||
|
||||
Important release notes:
|
||||
|
||||
- if you upgraded with /upgrade in WeeChat, you should /disconnect and
|
||||
then /reconnect on each server, to display properly channel/user modes
|
||||
- if you're using plugins, you should remove some old plugins libraries
|
||||
in WeeChat system library directory (commonly
|
||||
/usr/local/lib/weechat/plugins): remove lib* files (like libperl.*,
|
||||
libpython.*, ..) and keep only new libraries (perl.*, python.*, ..)
|
||||
|
||||
* FlashCode, 2006-05-25
|
||||
|
||||
WeeChat 0.1.9 released.
|
||||
|
||||
Important release notes:
|
||||
|
||||
- please close all DCC chat buffers before using /upgrade command,
|
||||
otherwise you may experience problems with DCC chats.
|
||||
- some changes in script API: now timer handlers functions takes exactly
|
||||
0 (zero) argument (in version 0.1.8, two arguments were mandatory but
|
||||
not used: server and args)
|
||||
|
||||
* FlashCode, 2006-03-18
|
||||
|
||||
WeeChat 0.1.8 released.
|
||||
|
||||
Important release notes:
|
||||
|
||||
- it is recommended for users of version 0.1.7 (or any older), to
|
||||
replace values in setup file (~/.weechat/weechat.rc) :
|
||||
- option: log_path: replace "~/.weechat/logs" by "%h/logs"
|
||||
- option: plugins_path: replace "~/.weechat/plugins" by "%h/plugins"
|
||||
"%h" is replaced by WeeChat home (default: ~/.weechat, may be overriden
|
||||
by new command line arg --dir)
|
||||
- after installing 0.1.8 (or with /upgrade), issue both commands (if you
|
||||
didn't redefined these keys (alt-home/end):
|
||||
/key unbind meta-meta2-1~
|
||||
/key unbind meta-meta2-4~
|
||||
then launch again WeeChat (or issue /upgrade).
|
||||
Alt-home/end were used for nicklist scroll, they're now replaced by
|
||||
Alt-F11/F12.
|
||||
|
||||
* FlashCode, 2006-01-14
|
||||
|
||||
WeeChat 0.1.7 released.
|
||||
|
||||
Important release notes:
|
||||
|
||||
- Ruby script plugin has been added but is experimental in this release.
|
||||
You're warned!
|
||||
|
||||
- "/away" command was changed to be RFC 2812 compliant.
|
||||
Now argument is required to set away, and no argument means
|
||||
remove away ("back"). Setting "irc_default_msg_away" has been removed.
|
||||
|
||||
* FlashCode, 2005-11-11
|
||||
|
||||
WeeChat 0.1.6 released.
|
||||
|
||||
Important release notes:
|
||||
|
||||
- incompatibility with some old scripts: now all handlers have to return
|
||||
a code for completion, and to do some actions about message to ignore
|
||||
(please look at documentation for detail)
|
||||
|
||||
- on OpenBSD, the new option "plugins_extension" should be set to ".so.0.0"
|
||||
since the plugins names are ending by ".so.0.0" and not ".so"
|
||||
|
||||
- with new and full UTF-8 support, the option "look_charset_internal"
|
||||
should be set to blank for most cases. Forces it only if your locale is
|
||||
not properly detected by WeeChat (you can set "UTF-8" or "ISO-8859-15"
|
||||
for example, depending on your locale). WeeChat is looking for "UTF-8" in
|
||||
your locale name at startup.
|
||||
|
||||
* FlashCode, 2005-09-24
|
||||
|
||||
WeeChat 0.1.5 released.
|
||||
|
||||
* FlashCode, 2005-07-30
|
||||
|
||||
WeeChat 0.1.4 released.
|
||||
|
||||
* FlashCode, 2005-07-02
|
||||
|
||||
WeeChat 0.1.3 released.
|
||||
|
||||
* FlashCode, 2005-05-21
|
||||
|
||||
WeeChat 0.1.2 released.
|
||||
|
||||
* FlashCode, 2005-03-20
|
||||
|
||||
WeeChat 0.1.1 released.
|
||||
|
||||
* FlashCode, 2005-02-12
|
||||
|
||||
WeeChat 0.1.0 released.
|
||||
|
||||
* FlashCode, 2005-01-01
|
||||
|
||||
WeeChat 0.0.9 released.
|
||||
|
||||
* FlashCode, 2004-10-30
|
||||
|
||||
WeeChat 0.0.8 released.
|
||||
|
||||
* FlashCode, 2004-08-08
|
||||
|
||||
WeeChat 0.0.7 released.
|
||||
|
||||
* FlashCode, 2004-06-05
|
||||
|
||||
WeeChat 0.0.6 released.
|
||||
|
||||
* FlashCode, 2004-02-07
|
||||
|
||||
WeeChat 0.0.5 released.
|
||||
|
||||
* FlashCode, 2004-01-01
|
||||
|
||||
WeeChat 0.0.4 released.
|
||||
|
||||
* FlashCode, 2003-11-03
|
||||
|
||||
WeeChat 0.0.3 released.
|
||||
|
||||
* FlashCode, 2003-10-05
|
||||
|
||||
WeeChat 0.0.2 released.
|
||||
|
||||
* FlashCode, 2003-09-27
|
||||
|
||||
WeeChat 0.0.1 released.
|
||||
@@ -0,0 +1,46 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat
|
||||
environment for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with scripts.
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
* IRC chat client with multi-server connection
|
||||
* many GUI (curses, Gtk, Qt) (1)
|
||||
* small, fast and very light
|
||||
* customizable and extensible with plugins (C, Perl, Python, Ruby, Lua)
|
||||
* compliant with RFC 1459,2810,2811,2812,2813
|
||||
* developed from scratch
|
||||
* multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & other) (2)
|
||||
* 100% GPL & free
|
||||
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
WeeChat (c) Copyright 2003-2007 by FlashCode <flashcode@flashtux.org>
|
||||
(see AUTHORS file if you want to contact authors)
|
||||
|
||||
WeeChat is distributed under GPL licence (see COPYING file for complete license):
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
---
|
||||
(1) only Curses interface is available today
|
||||
(2) Windows version is under construction
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
:author: Sébastien Helleu
|
||||
:email: flashcode@flashtux.org
|
||||
:lang: en
|
||||
|
||||
|
||||
pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_large.png[align="center"] pass:[</p>]
|
||||
|
||||
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
|
||||
image:https://img.shields.io/badge/mastodon-follow-blue.svg["Mastodon", link="https://hostux.social/@weechat"]
|
||||
image:https://img.shields.io/badge/twitter-follow-blue.svg["Twitter", link="https://twitter.com/WeeChatClient"]
|
||||
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://blog.weechat.org/"]
|
||||
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="https://www.slant.co/topics/1323/~best-irc-clients-for-linux"]
|
||||
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
|
||||
|
||||
image:https://github.com/weechat/weechat/workflows/CI/badge.svg["CI", link="https://github.com/weechat/weechat/actions"]
|
||||
image:https://codecov.io/gh/weechat/weechat/branch/master/graph/badge.svg["Code coverage", link="https://codecov.io/gh/weechat/weechat"]
|
||||
|
||||
*WeeChat* (Wee Enhanced Environment for Chat) is a free chat client, fast and
|
||||
light, designed for many operating systems.
|
||||
It is highly customizable and extensible with scripts.
|
||||
|
||||
Homepage: https://weechat.org/
|
||||
|
||||
== Features
|
||||
|
||||
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/doc/user/#plugins[plugins]. All plugins (including https://weechat.org/doc/user/#irc[IRC]) are independent and can be unloaded.
|
||||
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
|
||||
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
|
||||
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812], and https://tools.ietf.org/html/rfc2813[2813].
|
||||
* *Small, fast, and very light*: the core is and should stay as light and fast as possible.
|
||||
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/language/perl/[Perl], https://weechat.org/scripts/language/python/[Python], https://weechat.org/scripts/language/ruby[Ruby], https://weechat.org/scripts/language/lua/[Lua], https://weechat.org/scripts/language/tcl/[Tcl], https://weechat.org/scripts/language/guile/[Scheme], https://weechat.org/scripts/language/javascript/[JavaScript] and https://weechat.org/scripts/language/php/[PHP]).
|
||||
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/doc/dev/#translations[translated] into several languages.
|
||||
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
|
||||
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
|
||||
|
||||
pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"] pass:[</p>]
|
||||
|
||||
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
|
||||
|
||||
== Installation
|
||||
|
||||
WeeChat can be installed using your favorite package manager (recommended) or by compiling it yourself.
|
||||
|
||||
For detailed instructions, please check the https://weechat.org/doc/user/#install[WeeChat user's guide].
|
||||
|
||||
== Copyright
|
||||
|
||||
Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
This file is part of WeeChat, the extensible chat client.
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
WeeChat is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
-2739
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
WeeChat - Wee Enhanced Environment for Chat
|
||||
===========================================
|
||||
|
||||
WeeChat TODO:
|
||||
please look at https://savannah.nongnu.org/task/?group=weechat
|
||||
+33
-23
@@ -1,31 +1,26 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
###
|
||||
### common stuff
|
||||
###
|
||||
|
||||
DIR=$(cd "$(dirname "$0")" || exit 1; pwd)
|
||||
cd "$DIR" || exit 1
|
||||
OK="\\033[70G[\\033[1;32mOK\\033[1;00m]"
|
||||
FAIL="\\033[70G[\\033[1;31mFAILED\\033[1;00m]"
|
||||
|
||||
AUTOGEN_LOG=autogen.log
|
||||
|
||||
@@ -34,36 +29,51 @@ err ()
|
||||
echo "-------"
|
||||
echo "Error :"
|
||||
echo "---8<-----------------------------------"
|
||||
cat "$AUTOGEN_LOG"
|
||||
cat $AUTOGEN_LOG
|
||||
echo "----------------------------------->8---"
|
||||
exit 1
|
||||
}
|
||||
|
||||
run ()
|
||||
{
|
||||
printf "Running \"%s\"..." "$@"
|
||||
if eval "$@" >"$AUTOGEN_LOG" 2>&1 ; then
|
||||
echo " OK"
|
||||
echo -n "Running \"$@\""
|
||||
eval $@ >$AUTOGEN_LOG 2>&1
|
||||
if [ $? = 0 ] ; then
|
||||
echo -e $OK
|
||||
else
|
||||
echo " FAILED"
|
||||
err
|
||||
echo -e $FAIL
|
||||
err
|
||||
fi
|
||||
}
|
||||
|
||||
# remove autotools stuff
|
||||
###
|
||||
### cleanning part
|
||||
###
|
||||
# remove autotools stuff
|
||||
run "rm -rf config"
|
||||
run "rm -f config.h.in"
|
||||
run "rm -f aclocal.m4 configure config.log config.status"
|
||||
run "rm -rf autom4te*.cache"
|
||||
|
||||
# remove libtool stuff
|
||||
run "rm -f libtool"
|
||||
|
||||
# remove gettext stuff
|
||||
run "rm -f ABOUT-NLS"
|
||||
run "rm -rf intl"
|
||||
|
||||
# execute autoreconf cmds
|
||||
run "autoreconf -vi"
|
||||
###
|
||||
### configuration part
|
||||
###
|
||||
# create the config directory
|
||||
run "mkdir -p config/m4"
|
||||
run "mkdir intl"
|
||||
|
||||
# execute autotools cmds
|
||||
run "autopoint -f"
|
||||
run "libtoolize --automake --force --copy"
|
||||
run "aclocal --force -I config/m4"
|
||||
run "autoheader"
|
||||
run "autoconf"
|
||||
run "automake --add-missing --copy --gnu"
|
||||
|
||||
# ending
|
||||
rm -f "$AUTOGEN_LOG"
|
||||
rm -f $AUTOGEN_LOG
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
|
||||
#
|
||||
# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions for
|
||||
# parsing the arguments given to that macro or function.
|
||||
# It processes the arguments and defines a set of variables which hold the
|
||||
# values of the respective options.
|
||||
#
|
||||
# The <options> argument contains all options for the respective macro,
|
||||
# i.e. keywords which can be used when calling the macro without any value
|
||||
# following, like e.g. the OPTIONAL keyword of the install() command.
|
||||
#
|
||||
# The <one_value_keywords> argument contains all keywords for this macro
|
||||
# which are followed by one value, like e.g. DESTINATION keyword of the
|
||||
# install() command.
|
||||
#
|
||||
# The <multi_value_keywords> argument contains all keywords for this macro
|
||||
# which can be followed by more than one value, like e.g. the TARGETS or
|
||||
# FILES keywords of the install() command.
|
||||
#
|
||||
# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
|
||||
# keywords listed in <options>, <one_value_keywords> and
|
||||
# <multi_value_keywords> a variable composed of the given <prefix>
|
||||
# followed by "_" and the name of the respective keyword.
|
||||
# These variables will then hold the respective value from the argument list.
|
||||
# For the <options> keywords this will be TRUE or FALSE.
|
||||
#
|
||||
# All remaining arguments are collected in a variable
|
||||
# <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see whether
|
||||
# your macro was called with unrecognized parameters.
|
||||
#
|
||||
# As an example here a my_install() macro, which takes similar arguments as the
|
||||
# real install() command:
|
||||
#
|
||||
# function(MY_INSTALL)
|
||||
# set(options OPTIONAL FAST)
|
||||
# set(oneValueArgs DESTINATION RENAME)
|
||||
# set(multiValueArgs TARGETS CONFIGURATIONS)
|
||||
# cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
# ...
|
||||
#
|
||||
# Assume my_install() has been called like this:
|
||||
# my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
|
||||
#
|
||||
# After the cmake_parse_arguments() call the macro will have set the following
|
||||
# variables:
|
||||
# MY_INSTALL_OPTIONAL = TRUE
|
||||
# MY_INSTALL_FAST = FALSE (this option was not used when calling my_install()
|
||||
# MY_INSTALL_DESTINATION = "bin"
|
||||
# MY_INSTALL_RENAME = "" (was not used)
|
||||
# MY_INSTALL_TARGETS = "foo;bar"
|
||||
# MY_INSTALL_CONFIGURATIONS = "" (was not used)
|
||||
# MY_INSTALL_UNPARSED_ARGUMENTS = "blub" (no value expected after "OPTIONAL"
|
||||
#
|
||||
# You can the continue and process these variables.
|
||||
#
|
||||
# Keywords terminate lists of values, e.g. if directly after a one_value_keyword
|
||||
# another recognized keyword follows, this is interpreted as the beginning of
|
||||
# the new option.
|
||||
# E.g. my_install(TARGETS foo DESTINATION OPTIONAL) would result in
|
||||
# MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION would
|
||||
# be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2010 Alexander Neundorf <neundorf@kde.org>
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
|
||||
if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
|
||||
return()
|
||||
endif()
|
||||
set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
|
||||
|
||||
|
||||
function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
|
||||
# first set all result variables to empty/FALSE
|
||||
foreach(arg_name ${_singleArgNames} ${_multiArgNames})
|
||||
set(${prefix}_${arg_name})
|
||||
endforeach(arg_name)
|
||||
|
||||
foreach(option ${_optionNames})
|
||||
set(${prefix}_${option} FALSE)
|
||||
endforeach(option)
|
||||
|
||||
set(${prefix}_UNPARSED_ARGUMENTS)
|
||||
|
||||
set(insideValues FALSE)
|
||||
set(currentArgName)
|
||||
|
||||
# now iterate over all arguments and fill the result variables
|
||||
foreach(currentArg ${ARGN})
|
||||
list(FIND _optionNames "${currentArg}" optionIndex) # ... then this marks the end of the arguments belonging to this keyword
|
||||
list(FIND _singleArgNames "${currentArg}" singleArgIndex) # ... then this marks the end of the arguments belonging to this keyword
|
||||
list(FIND _multiArgNames "${currentArg}" multiArgIndex) # ... then this marks the end of the arguments belonging to this keyword
|
||||
|
||||
if(${optionIndex} EQUAL -1 AND ${singleArgIndex} EQUAL -1 AND ${multiArgIndex} EQUAL -1)
|
||||
if(insideValues)
|
||||
if("${insideValues}" STREQUAL "SINGLE")
|
||||
set(${prefix}_${currentArgName} ${currentArg})
|
||||
set(insideValues FALSE)
|
||||
elseif("${insideValues}" STREQUAL "MULTI")
|
||||
list(APPEND ${prefix}_${currentArgName} ${currentArg})
|
||||
endif()
|
||||
else(insideValues)
|
||||
list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
|
||||
endif(insideValues)
|
||||
else()
|
||||
if(NOT ${optionIndex} EQUAL -1)
|
||||
set(${prefix}_${currentArg} TRUE)
|
||||
set(insideValues FALSE)
|
||||
elseif(NOT ${singleArgIndex} EQUAL -1)
|
||||
set(currentArgName ${currentArg})
|
||||
set(${prefix}_${currentArgName})
|
||||
set(insideValues "SINGLE")
|
||||
elseif(NOT ${multiArgIndex} EQUAL -1)
|
||||
set(currentArgName ${currentArg})
|
||||
set(${prefix}_${currentArgName})
|
||||
set(insideValues "MULTI")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
endforeach(currentArg)
|
||||
|
||||
# propagate the result variables to the caller:
|
||||
foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
|
||||
set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE)
|
||||
endforeach(arg_name)
|
||||
set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
|
||||
|
||||
endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Asciidoctor
|
||||
# This module finds if asciidoctor (version 1.5.4 or newer) is installed.
|
||||
|
||||
if(ASCIIDOCTOR_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(ASCIIDOCTOR_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_program(
|
||||
ASCIIDOCTOR_EXECUTABLE asciidoctor
|
||||
PATHS /bin /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
if(ASCIIDOCTOR_EXECUTABLE)
|
||||
execute_process(
|
||||
COMMAND ${ASCIIDOCTOR_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE ASCIIDOCTOR_VERSION
|
||||
)
|
||||
|
||||
string(REGEX REPLACE "^Asciidoctor ([^ ]+) .*" "\\1" ASCIIDOCTOR_VERSION "${ASCIIDOCTOR_VERSION}")
|
||||
|
||||
if(ASCIIDOCTOR_VERSION VERSION_EQUAL "1.5.4" OR ASCIIDOCTOR_VERSION VERSION_GREATER "1.5.4")
|
||||
set(ASCIIDOCTOR_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
ASCIIDOCTOR_EXECUTABLE
|
||||
ASCIIDOCTOR_VERSION
|
||||
)
|
||||
endif()
|
||||
+14
-24
@@ -1,24 +1,21 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Aspell
|
||||
# This module finds if libaspell is installed and determines where
|
||||
# This module finds if libaspell is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
@@ -26,33 +23,26 @@
|
||||
# ASPELL_INCLUDE_PATH = path to where aspell.h can be found
|
||||
# ASPELL_LIBRARY = path to where libaspell.so* can be found
|
||||
|
||||
if(ASPELL_FOUND)
|
||||
IF (ASPELL_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(ASPELL_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
ENDIF (ASPELL_FOUND)
|
||||
|
||||
find_path(ASPELL_INCLUDE_PATH
|
||||
FIND_PATH(ASPELL_INCLUDE_PATH
|
||||
NAMES aspell.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
)
|
||||
|
||||
find_library(ASPELL_LIBRARY
|
||||
FIND_LIBRARY(ASPELL_LIBRARY
|
||||
NAMES aspell aspell-15
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
if(ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
|
||||
set(ASPELL_FOUND TRUE)
|
||||
IF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
|
||||
SET(ASPELL_FOUND TRUE)
|
||||
ENDIF (ASPELL_INCLUDE_PATH AND ASPELL_LIBRARY)
|
||||
|
||||
# check if function aspell_version_string() exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ASPELL_INCLUDE_PATH})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ASPELL_LIBRARY})
|
||||
check_symbol_exists(aspell_version_string "aspell.h" HAVE_ASPELL_VERSION_STRING)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
ASPELL_INCLUDE_PATH
|
||||
ASPELL_LIBRARY
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2014-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find CppUTest
|
||||
# This module finds if CppUTest is installed and determines where the include
|
||||
# files and libraries are. It also determines what the name of the library is.
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# CPPUTEST_FOUND = CppUTest is installed
|
||||
# CPPUTEST_INCLUDE_DIRS = CppUTest include directory
|
||||
# CPPUTEST_LIBRARIES = Link options to compile with CppUTest
|
||||
|
||||
if(CPPUTEST_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(CPPUTEST_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(CPPUTEST cpputest)
|
||||
endif()
|
||||
@@ -1,50 +0,0 @@
|
||||
# - Try to find the Enchant spell checker
|
||||
# Once done this will define
|
||||
#
|
||||
# ENCHANT_FOUND - system has ENCHANT
|
||||
# ENCHANT_INCLUDE_DIR - the ENCHANT include directory
|
||||
# ENCHANT_LIBRARIES - Link these to use ENCHANT
|
||||
# ENCHANT_DEFINITIONS - Compiler switches required for using ENCHANT
|
||||
|
||||
# Copyright (c) 2006, Zack Rusin, <zack@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
|
||||
if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
|
||||
# in cache already
|
||||
set(ENCHANT_FOUND TRUE)
|
||||
else()
|
||||
if(NOT WIN32)
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_ENCHANT enchant)
|
||||
set(ENCHANT_DEFINITIONS ${PC_ENCHANT_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
find_path(ENCHANT_INCLUDE_DIR
|
||||
NAMES enchant++.h
|
||||
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES enchant
|
||||
)
|
||||
|
||||
find_library(ENCHANT_LIBRARIES
|
||||
NAMES enchant
|
||||
HINTS ${PC_ENCHANT_LIBDIR}
|
||||
${PC_ENCHANT_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
|
||||
|
||||
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
|
||||
|
||||
# check if function enchant_get_version() exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ENCHANT_INCLUDE_DIR})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ENCHANT_LIBRARIES})
|
||||
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
@@ -1,53 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Gcrypt
|
||||
# This module finds if libgcrypt is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# GCRYPT_CFLAGS = cflags to use to compile
|
||||
# GCRYPT_LDFLAGS = ldflags to use to compile
|
||||
#
|
||||
|
||||
find_program(LIBGCRYPT_CONFIG_EXECUTABLE NAMES libgcrypt-config)
|
||||
|
||||
set(GCRYPT_LDFLAGS)
|
||||
set(GCRYPT_CFLAGS)
|
||||
|
||||
if(LIBGCRYPT_CONFIG_EXECUTABLE)
|
||||
|
||||
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --libs RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
execute_process(COMMAND ${LIBGCRYPT_CONFIG_EXECUTABLE} --cflags RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE GCRYPT_CFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
|
||||
|
||||
if(NOT DEFINED ${GCRYPT_CFLAGS})
|
||||
set(GCRYPT_CFLAGS " ")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set GCRYPT_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GCRYPT REQUIRED_VARS GCRYPT_LDFLAGS GCRYPT_CFLAGS)
|
||||
|
||||
if(GCRYPT_FOUND)
|
||||
mark_as_advanced(GCRYPT_CFLAGS GCRYPT_LDFLAGS)
|
||||
endif()
|
||||
+37
-40
@@ -1,70 +1,67 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
|
||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Gettext
|
||||
# This module finds if gettext is installed and determines where
|
||||
# This module finds if gettext is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# GETTEXT_FOUND = is gettext usable on system?
|
||||
|
||||
if(GETTEXT_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(GETTEXT_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(GETTEXT_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(GETTEXT_FIND_QUIETLY TRUE)
|
||||
ENDIF(GETTEXT_FOUND)
|
||||
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckLibraryExists)
|
||||
include(CheckFunctionExists)
|
||||
INCLUDE(CheckIncludeFiles)
|
||||
INCLUDE(CheckLibraryExists)
|
||||
INCLUDE(CheckFunctionExists)
|
||||
|
||||
find_path(LIBINTL_INCLUDE
|
||||
FIND_PATH(LIBINTL_INCLUDE
|
||||
NAMES libintl.h
|
||||
PATH /usr/local/include /usr/pkg/include /usr/include
|
||||
)
|
||||
|
||||
set(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
|
||||
SET(CMAKE_REQUIRED_INCLUDES ${LIBINTL_INCLUDE})
|
||||
|
||||
check_include_files(libintl.h HAVE_LIBINTL_H)
|
||||
CHECK_INCLUDE_FILES(libintl.h HAVE_LIBINTL_H)
|
||||
|
||||
if(HAVE_LIBINTL_H)
|
||||
check_function_exists(dgettext LIBC_HAS_DGETTEXT)
|
||||
if(LIBC_HAS_DGETTEXT)
|
||||
set(GETTEXT_FOUND TRUE)
|
||||
else()
|
||||
find_library(LIBINTL_LIBRARY NAMES intl
|
||||
IF(HAVE_LIBINTL_H)
|
||||
|
||||
CHECK_FUNCTION_EXISTS(dgettext LIBC_HAS_DGETTEXT)
|
||||
IF(LIBC_HAS_DGETTEXT)
|
||||
SET(GETTEXT_FOUND TRUE)
|
||||
ELSE(LIBC_HAS_DGETTEXT)
|
||||
FIND_LIBRARY(LIBINTL_LIBRARY NAMES intl
|
||||
PATHS
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
)
|
||||
if(LIBINTL_LIBRARY)
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
|
||||
set(CMAKE_REQUIRED_LIBRARIES "iconv")
|
||||
check_library_exists(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
else()
|
||||
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
endif()
|
||||
if(LIBINTL_HAS_DGETTEXT)
|
||||
set(GETTEXT_FOUND TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
)
|
||||
IF(LIBINTL_LIBRARY)
|
||||
IF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
SET(CMAKE_REQUIRED_LIBRARIES "iconv")
|
||||
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "libintl_dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
ELSE(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
CHECK_LIBRARY_EXISTS(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
|
||||
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
|
||||
|
||||
IF(LIBINTL_HAS_DGETTEXT)
|
||||
SET(GETTEXT_FOUND TRUE)
|
||||
ENDIF(LIBINTL_HAS_DGETTEXT)
|
||||
ENDIF(LIBINTL_LIBRARY)
|
||||
ENDIF(LIBC_HAS_DGETTEXT)
|
||||
ENDIF(HAVE_LIBINTL_H)
|
||||
|
||||
+26
-30
@@ -1,25 +1,21 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find GnuTLS
|
||||
# This module finds if libgnutls is installed and determines where
|
||||
# This module finds if libgnutls is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
@@ -29,45 +25,45 @@
|
||||
# GNUTLS_CFLAGS = cflags to use to compile
|
||||
# GNUTLS_LDFLAGS = ldflags to use to compile
|
||||
|
||||
if(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set(GNUTLS_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set(GNUTLS_FIND_QUIETLY TRUE)
|
||||
ENDIF(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
|
||||
FIND_PROGRAM(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_PREFIX
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_PREFIX
|
||||
)
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_CFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_CFLAGS
|
||||
)
|
||||
string(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_CFLAGS}")
|
||||
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_FLAGS}")
|
||||
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_LDFLAGS
|
||||
EXECUTE_PROCESS(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
|
||||
OUTPUT_VARIABLE GNUTLS_LDFLAGS
|
||||
)
|
||||
string(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
|
||||
STRING(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
|
||||
|
||||
set(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
|
||||
set(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
|
||||
SET(GNUTLS_POSSIBLE_INCLUDE_PATH "${GNUTLS_PREFIX}/include")
|
||||
SET(GNUTLS_POSSIBLE_LIB_DIR "${GNUTLS_PREFIX}/lib")
|
||||
|
||||
find_path(GNUTLS_INCLUDE_PATH
|
||||
FIND_PATH(GNUTLS_INCLUDE_PATH
|
||||
NAMES gnutls/gnutls.h
|
||||
PATHS GNUTLS_POSSIBLE_INCLUDE_PATH
|
||||
)
|
||||
|
||||
find_library(GNUTLS_LIBRARY
|
||||
FIND_LIBRARY(GNUTLS_LIBRARY
|
||||
NAMES gnutls
|
||||
PATHS GNUTLS_POSSIBLE_LIB_DIR
|
||||
)
|
||||
|
||||
if(NOT GNUTLS_INCLUDE_PATH OR NOT GNUTLS_LIBRARY)
|
||||
message(FATAL_ERROR "GnuTLS was not found")
|
||||
endif()
|
||||
IF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
SET(GNUTLS_FOUND TRUE)
|
||||
ENDIF (GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
GNUTLS_INCLUDE_PATH
|
||||
GNUTLS_LIBRARY
|
||||
GNUTLS_CFLAGS
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2011-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Guile
|
||||
# This module finds if Guile is installed and determines where the include files
|
||||
# and libraries are. It also determines what the name of the library is. This
|
||||
# code sets the following variables:
|
||||
#
|
||||
# GUILE_FOUND = Guile is installed
|
||||
# GUILE_INCLUDE_DIRS = Guile include directory
|
||||
# GUILE_LIBRARIES = Link options to compile Guile
|
||||
|
||||
if(GUILE_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(GUILE_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(GUILE guile-3.0 guile-2.2 guile-2.0)
|
||||
if(GUILE_FOUND)
|
||||
# check if variable "scm_install_gmp_memory_functions" exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${GUILE_INCLUDE_DIRS})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${GUILE_LDFLAGS})
|
||||
check_symbol_exists(scm_install_gmp_memory_functions "libguile.h" HAVE_GUILE_GMP_MEMORY_FUNCTIONS)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
endif()
|
||||
+28
-35
@@ -1,24 +1,21 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Iconv
|
||||
# This module finds if libiconv is installed and determines where
|
||||
# This module finds if libiconv is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
@@ -28,44 +25,41 @@
|
||||
#
|
||||
# ICONV_FOUND = is iconv usable on system?
|
||||
|
||||
if(ICONV_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(ICONV_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(ICONV_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(ICONV_FIND_QUIETLY TRUE)
|
||||
ENDIF(ICONV_FOUND)
|
||||
|
||||
include(CheckLibraryExists)
|
||||
include(CheckFunctionExists)
|
||||
|
||||
find_path(ICONV_INCLUDE_PATH
|
||||
FIND_PATH(ICONV_INCLUDE_PATH
|
||||
NAMES iconv.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
)
|
||||
|
||||
find_library(ICONV_LIBRARY
|
||||
FIND_LIBRARY(ICONV_LIBRARY
|
||||
NAMES iconv
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
if(ICONV_INCLUDE_PATH)
|
||||
if(ICONV_LIBRARY)
|
||||
check_library_exists("${ICONV_LIBRARY}" libiconv_open "" LIBICONV_OPEN_FOUND)
|
||||
check_library_exists("${ICONV_LIBRARY}" iconv_open "" ICONV_OPEN_FOUND)
|
||||
if(LIBICONV_OPEN_FOUND OR ICONV_OPEN_FOUND)
|
||||
set(ICONV_FOUND TRUE)
|
||||
endif()
|
||||
else()
|
||||
check_function_exists(iconv_open ICONV_FOUND)
|
||||
endif()
|
||||
endif()
|
||||
IF(ICONV_INCLUDE_PATH)
|
||||
IF(ICONV_LIBRARY)
|
||||
STRING(REGEX REPLACE "/[^/]*$" "" ICONV_LIB_PATH "${ICONV_LIBRARY}")
|
||||
CHECK_LIBRARY_EXISTS(iconv libiconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
|
||||
IF(NOT ICONV_FOUND)
|
||||
CHECK_LIBRARY_EXISTS(iconv iconv_open ${ICONV_LIB_PATH} ICONV_FOUND)
|
||||
ENDIF(NOT ICONV_FOUND)
|
||||
ELSE(ICONV_LIBRARY)
|
||||
CHECK_FUNCTION_EXISTS(iconv_open ICONV_FOUND)
|
||||
ENDIF(ICONV_LIBRARY)
|
||||
ENDIF(ICONV_INCLUDE_PATH)
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
|
||||
if(ICONV_LIBRARY)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
|
||||
endif()
|
||||
IF(ICONV_LIBRARY)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
|
||||
SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_PATH})
|
||||
ENDIF(ICONV_LIBRARY)
|
||||
|
||||
set(CMAKE_REQUIRED_FLAGS -Werror)
|
||||
SET(CMAKE_REQUIRED_FLAGS -Werror)
|
||||
check_c_source_compiles("
|
||||
#include <iconv.h>
|
||||
int main(){
|
||||
@@ -78,8 +72,7 @@ check_c_source_compiles("
|
||||
return 0;
|
||||
}
|
||||
" ICONV_2ARG_IS_CONST)
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
ICONV_INCLUDE_PATH
|
||||
ICONV_LIBRARY
|
||||
ICONV_FOUND
|
||||
|
||||
+58
-16
@@ -1,24 +1,21 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Lua
|
||||
# This module finds if liblua is installed and determines where
|
||||
# This module finds if liblua is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
@@ -28,12 +25,57 @@
|
||||
#
|
||||
# LUA_FOUND = is liblua usable on system?
|
||||
|
||||
if(LUA_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(LUA_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(LUA_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(LUA_FIND_QUIETLY TRUE)
|
||||
ENDIF(LUA_FOUND)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(LUA lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50 lua)
|
||||
endif()
|
||||
FIND_PATH(
|
||||
LUA51_INCLUDE_PATH lua.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
PATH_SUFFIXES lua51 lua5.1 lua-5.1
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUA51_LIBRARY NAMES lua51 lua5.1 lua-5.1 lua
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
IF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
|
||||
SET(LUA_INCLUDE_PATH "${LUA51_INCLUDE_PATH}")
|
||||
SET(LUA_LIBRARY "${LUA51_LIBRARY}")
|
||||
SET(LUA_VERSION "5.1")
|
||||
SET(LUA_FOUND TRUE)
|
||||
ELSE(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
|
||||
FIND_PATH(
|
||||
LUA50_INCLUDE_PATH lua.h
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
PATH_SUFFIXES lua50 lua5.0 lua-5.0 lua
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUA50_LIBRARY NAMES lua50 lua5.0 lua-5.0 lua
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
LUALIB50_LIBRARY NAMES lualib50 lualib5.0 lualib-5.0 lualib
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
IF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
|
||||
SET(LUA_INCLUDE_PATH "${LUA50_INCLUDE_PATH}")
|
||||
SET(LUA_LIBRARY "${LUA50_LIBRARY}")
|
||||
SET(LUALIB_LIBRARY "${LUALIB50_LIBRARY}")
|
||||
SET(LUA_VERSION "5.0")
|
||||
SET(LUA_FOUND TRUE)
|
||||
ENDIF(LUA50_INCLUDE_PATH AND LUA50_LIBRARY AND LUALIB50_LIBRARY)
|
||||
ENDIF(LUA51_INCLUDE_PATH AND LUA51_LIBRARY)
|
||||
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
LUA_INCLUDE_PATH
|
||||
LUA_LIBRARY
|
||||
LUALIB_LIBRARY
|
||||
# LUA_VERSION
|
||||
)
|
||||
|
||||
+14
-42
@@ -1,66 +1,38 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
if(NCURSES_FOUND)
|
||||
set(NCURSES_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(NCURSES_FOUND)
|
||||
SET(NCURSES_FIND_QUIETLY TRUE)
|
||||
ENDIF(NCURSES_FOUND)
|
||||
|
||||
find_path(NCURSES_INCLUDE_PATH
|
||||
FIND_PATH(NCURSES_INCLUDE_PATH
|
||||
NAMES ncurses.h curses.h
|
||||
PATH_SUFFIXES ncursesw ncurses
|
||||
PATHS /usr/include /usr/local/include /usr/pkg/include
|
||||
)
|
||||
|
||||
find_library(NCURSESW_LIBRARY
|
||||
NAMES ncursesw
|
||||
FIND_LIBRARY(NCURSES_LIBRARY
|
||||
NAMES ncursesw ncurses
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
if(NCURSESW_LIBRARY)
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(NCURSES ncursesw)
|
||||
set(NCURSESW_LIBRARY ${NCURSES_LIBRARIES} ${NCURSES_CFLAGS_OTHER})
|
||||
endif()
|
||||
set(NCURSES_LIBRARY ${NCURSESW_LIBRARY})
|
||||
else()
|
||||
find_library(NCURSES_LIBRARY
|
||||
NAMES ncurses
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(NCURSES ncurses)
|
||||
set(NCURSES_LIBRARY ${NCURSES_LIBRARIES} ${NCURSES_CFLAGS_OTHER})
|
||||
endif()
|
||||
if(NCURSES_LIBRARY)
|
||||
message("*** WARNING:\n"
|
||||
"*** ncursesw library not found! Falling back to \"ncurses\"\n"
|
||||
"*** Be careful, UTF-8 display may not work properly if your locale is UTF-8.")
|
||||
endif()
|
||||
endif()
|
||||
IF (NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
|
||||
SET(NCURSES_FOUND TRUE)
|
||||
ENDIF(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
|
||||
|
||||
if(NCURSES_INCLUDE_PATH AND NCURSES_LIBRARY)
|
||||
set(NCURSES_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
MARK_AS_ADVANCED(
|
||||
NCURSES_INCLUDE_PATH
|
||||
NCURSES_LIBRARY
|
||||
)
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2017 Adam Saponara <as@php.net>
|
||||
# Copyright (C) 2017-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
if(PHP_FOUND)
|
||||
set(PHP_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(PHP php8 php7)
|
||||
endif()
|
||||
|
||||
if(NOT PHP_FOUND)
|
||||
find_program(PHP_CONFIG_EXECUTABLE NAMES
|
||||
php-config8.1 php-config81
|
||||
php-config8.0 php-config80
|
||||
php-config8
|
||||
php-config7.4 php-config74
|
||||
php-config7.3 php-config73
|
||||
php-config7.2 php-config72
|
||||
php-config7.1 php-config71
|
||||
php-config7.0 php-config70
|
||||
php-config7
|
||||
php-config
|
||||
)
|
||||
if (PHP_CONFIG_EXECUTABLE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PHP_LIB_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --includes OUTPUT_VARIABLE PHP_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --libs OUTPUT_VARIABLE PHP_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if(${PHP_VERSION} MATCHES "^[78]")
|
||||
find_library(PHP_LIB
|
||||
NAMES php8.1 php8.0 php8 php7.4 php7.3 php7.2 php7.1 php7.0 php7 php
|
||||
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
|
||||
)
|
||||
if(PHP_LIB)
|
||||
get_filename_component(PHP_LIB_DIR ${PHP_LIB} DIRECTORY)
|
||||
string(REPLACE "-I" "" PHP_INCLUDE_DIRS ${PHP_INCLUDE_DIRS})
|
||||
SEPARATE_ARGUMENTS(PHP_INCLUDE_DIRS)
|
||||
set(PHP_LDFLAGS "-L${PHP_LIB_DIR} ${PHP_LIBS}")
|
||||
set(PHP_FOUND 1)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT PHP_FOUND)
|
||||
message(WARNING "Could not find libphp. "
|
||||
"Ensure PHP >=7.0.0 development libraries are installed and compiled with `--enable-embed`. "
|
||||
"Ensure `php-config` is in `PATH`. "
|
||||
"You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing libphp."
|
||||
)
|
||||
endif()
|
||||
+35
-37
@@ -1,20 +1,17 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Perl libraries
|
||||
@@ -28,57 +25,58 @@
|
||||
# PERL_CFLAGS = perl compiler options for compiling
|
||||
# PERL_LFLAGS = perl compiler options for linking
|
||||
|
||||
if(PERL_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(PERL_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(PERL_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(PERL_FIND_QUIETLY TRUE)
|
||||
ENDIF(PERL_FOUND)
|
||||
|
||||
find_program(PERL_EXECUTABLE
|
||||
FIND_PROGRAM(PERL_EXECUTABLE
|
||||
NAMES perl perl5
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
)
|
||||
|
||||
if(PERL_EXECUTABLE)
|
||||
IF(PERL_EXECUTABLE)
|
||||
|
||||
execute_process(
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \"\$Config{archlibexp}/CORE\""
|
||||
OUTPUT_VARIABLE PERL_INTERNAL_DIR
|
||||
)
|
||||
)
|
||||
|
||||
execute_process(
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ccopts
|
||||
OUTPUT_VARIABLE PERL_CFLAGS
|
||||
)
|
||||
)
|
||||
|
||||
execute_process(
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ldopts
|
||||
OUTPUT_VARIABLE PERL_LFLAGS
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
# remove the new lines from the output by replacing them with empty strings
|
||||
string(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
|
||||
string(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
|
||||
string(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
|
||||
|
||||
find_path(PERL_INCLUDE_PATH
|
||||
STRING(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
|
||||
STRING(REPLACE "\n" "" PERL_CFLAGS "${PERL_CFLAGS}")
|
||||
STRING(REPLACE "\n" "" PERL_LFLAGS "${PERL_LFLAGS}")
|
||||
|
||||
FIND_PATH(PERL_INCLUDE_PATH
|
||||
NAMES perl.h
|
||||
PATHS ${PERL_INTERNAL_DIR}
|
||||
)
|
||||
)
|
||||
|
||||
find_library(PERL_LIBRARY
|
||||
FIND_LIBRARY(PERL_LIBRARY
|
||||
NAMES perl
|
||||
PATHS /usr/lib /usr/local/lib /usr/pkg/lib ${PERL_INTERNAL_DIR}
|
||||
)
|
||||
|
||||
if(PERL_LIBRARY AND PERL_INCLUDE_PATH)
|
||||
set(PERL_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
)
|
||||
|
||||
IF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
|
||||
SET(PERL_FOUND TRUE)
|
||||
ENDIF(PERL_LIBRARY AND PERL_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
PERL_EXECUTABLE
|
||||
PERL_INCLUDE_PATH
|
||||
PERL_LIBRARY
|
||||
PERL_CFLAGS
|
||||
PERL_LFLAGS
|
||||
)
|
||||
endif()
|
||||
)
|
||||
ENDIF(PERL_EXECUTABLE)
|
||||
|
||||
|
||||
@@ -1,772 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#[========================================[.rst:
|
||||
FindPkgConfig
|
||||
-------------
|
||||
|
||||
A ``pkg-config`` module for CMake.
|
||||
|
||||
Finds the ``pkg-config`` executable and adds the :command:`pkg_get_variable`,
|
||||
:command:`pkg_check_modules` and :command:`pkg_search_module` commands. The
|
||||
following variables will also be set:
|
||||
|
||||
``PKG_CONFIG_FOUND``
|
||||
if pkg-config executable was found
|
||||
``PKG_CONFIG_EXECUTABLE``
|
||||
pathname of the pkg-config program
|
||||
``PKG_CONFIG_VERSION_STRING``
|
||||
version of pkg-config (since CMake 2.8.8)
|
||||
|
||||
#]========================================]
|
||||
|
||||
### Common stuff ####
|
||||
set(PKG_CONFIG_VERSION 1)
|
||||
|
||||
# find pkg-config, use PKG_CONFIG if set
|
||||
if((NOT PKG_CONFIG_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG}" STREQUAL ""))
|
||||
set(PKG_CONFIG_EXECUTABLE "$ENV{PKG_CONFIG}" CACHE FILEPATH "pkg-config executable")
|
||||
endif()
|
||||
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
|
||||
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
|
||||
|
||||
if (PKG_CONFIG_EXECUTABLE)
|
||||
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --version
|
||||
OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif ()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(PkgConfig
|
||||
REQUIRED_VARS PKG_CONFIG_EXECUTABLE
|
||||
VERSION_VAR PKG_CONFIG_VERSION_STRING)
|
||||
|
||||
# This is needed because the module name is "PkgConfig" but the name of
|
||||
# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
|
||||
# handled by FPHSA.
|
||||
set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
|
||||
|
||||
# Unsets the given variables
|
||||
macro(_pkgconfig_unset var)
|
||||
set(${var} "" CACHE INTERNAL "")
|
||||
endmacro()
|
||||
|
||||
macro(_pkgconfig_set var value)
|
||||
set(${var} ${value} CACHE INTERNAL "")
|
||||
endmacro()
|
||||
|
||||
# Invokes pkgconfig, cleans up the result and sets variables
|
||||
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
|
||||
set(_pkgconfig_invoke_result)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
|
||||
OUTPUT_VARIABLE _pkgconfig_invoke_result
|
||||
RESULT_VARIABLE _pkgconfig_failed
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
if (_pkgconfig_failed)
|
||||
set(_pkgconfig_${_varname} "")
|
||||
_pkgconfig_unset(${_prefix}_${_varname})
|
||||
else()
|
||||
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
|
||||
if (NOT ${_regexp} STREQUAL "")
|
||||
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
|
||||
endif()
|
||||
|
||||
separate_arguments(_pkgconfig_invoke_result)
|
||||
|
||||
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
|
||||
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
|
||||
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# Internal version of pkg_get_variable; expects PKG_CONFIG_PATH to already be set
|
||||
function (_pkg_get_variable result pkg variable)
|
||||
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
||||
set("${result}"
|
||||
"${prefix_result}"
|
||||
PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Invokes pkgconfig two times; once without '--static' and once with
|
||||
# '--static'
|
||||
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
|
||||
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
|
||||
endmacro()
|
||||
|
||||
# Splits given arguments into options and a package list
|
||||
macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
|
||||
set(${_is_req} 0)
|
||||
set(${_is_silent} 0)
|
||||
set(${_no_cmake_path} 0)
|
||||
set(${_no_cmake_environment_path} 0)
|
||||
set(${_imp_target} 0)
|
||||
set(${_imp_target_global} 0)
|
||||
if(DEFINED PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
|
||||
if(NOT PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
|
||||
set(${_no_cmake_path} 1)
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
|
||||
set(${_no_cmake_path} 1)
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
|
||||
foreach(_pkg ${ARGN})
|
||||
if (_pkg STREQUAL "REQUIRED")
|
||||
set(${_is_req} 1)
|
||||
endif ()
|
||||
if (_pkg STREQUAL "QUIET")
|
||||
set(${_is_silent} 1)
|
||||
endif ()
|
||||
if (_pkg STREQUAL "NO_CMAKE_PATH")
|
||||
set(${_no_cmake_path} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
set(${_no_cmake_environment_path} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "IMPORTED_TARGET")
|
||||
set(${_imp_target} 1)
|
||||
endif()
|
||||
if (_pkg STREQUAL "GLOBAL")
|
||||
set(${_imp_target_global} 1)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (${_imp_target_global} AND NOT ${_imp_target})
|
||||
message(SEND_ERROR "the argument GLOBAL may only be used together with IMPORTED_TARGET")
|
||||
endif()
|
||||
|
||||
set(${_result} ${ARGN})
|
||||
list(REMOVE_ITEM ${_result} "REQUIRED")
|
||||
list(REMOVE_ITEM ${_result} "QUIET")
|
||||
list(REMOVE_ITEM ${_result} "NO_CMAKE_PATH")
|
||||
list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
list(REMOVE_ITEM ${_result} "IMPORTED_TARGET")
|
||||
list(REMOVE_ITEM ${_result} "GLOBAL")
|
||||
endmacro()
|
||||
|
||||
# Add the content of a variable or an environment variable to a list of
|
||||
# paths
|
||||
# Usage:
|
||||
# - _pkgconfig_add_extra_path(_extra_paths VAR)
|
||||
# - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
|
||||
function(_pkgconfig_add_extra_path _extra_paths_var _var)
|
||||
set(_is_env 0)
|
||||
if(ARGC GREATER 2 AND _var STREQUAL "ENV")
|
||||
set(_var ${ARGV2})
|
||||
set(_is_env 1)
|
||||
endif()
|
||||
if(NOT _is_env)
|
||||
if(NOT "${${_var}}" STREQUAL "")
|
||||
list(APPEND ${_extra_paths_var} ${${_var}})
|
||||
endif()
|
||||
else()
|
||||
if(NOT "$ENV{${_var}}" STREQUAL "")
|
||||
file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
|
||||
list(APPEND ${_extra_paths_var} ${_path})
|
||||
unset(_path)
|
||||
endif()
|
||||
endif()
|
||||
set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# scan the LDFLAGS returned by pkg-config for library directories and
|
||||
# libraries, figure out the absolute paths of that libraries in the
|
||||
# given directories
|
||||
function(_pkg_find_libs _prefix _no_cmake_path _no_cmake_environment_path)
|
||||
unset(_libs)
|
||||
unset(_find_opts)
|
||||
|
||||
# set the options that are used as long as the .pc file does not provide a library
|
||||
# path to look into
|
||||
if(_no_cmake_path)
|
||||
list(APPEND _find_opts "NO_CMAKE_PATH")
|
||||
endif()
|
||||
if(_no_cmake_environment_path)
|
||||
list(APPEND _find_opts "NO_CMAKE_ENVIRONMENT_PATH")
|
||||
endif()
|
||||
|
||||
unset(_search_paths)
|
||||
foreach (flag IN LISTS ${_prefix}_LDFLAGS)
|
||||
if (flag MATCHES "^-L(.*)")
|
||||
list(APPEND _search_paths ${CMAKE_MATCH_1})
|
||||
continue()
|
||||
endif()
|
||||
if (flag MATCHES "^-l(.*)")
|
||||
set(_pkg_search "${CMAKE_MATCH_1}")
|
||||
else()
|
||||
continue()
|
||||
endif()
|
||||
|
||||
if(_search_paths)
|
||||
# Firstly search in -L paths
|
||||
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
|
||||
NAMES ${_pkg_search}
|
||||
HINTS ${_search_paths} NO_DEFAULT_PATH)
|
||||
endif()
|
||||
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
|
||||
NAMES ${_pkg_search}
|
||||
${_find_opts})
|
||||
mark_as_advanced(pkgcfg_lib_${_prefix}_${_pkg_search})
|
||||
if(pkgcfg_lib_${_prefix}_${_pkg_search})
|
||||
list(APPEND _libs "${pkgcfg_lib_${_prefix}_${_pkg_search}}")
|
||||
else()
|
||||
list(APPEND _libs ${_pkg_search})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(${_prefix}_LINK_LIBRARIES "${_libs}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# create an imported target from all the information returned by pkg-config
|
||||
function(_pkg_create_imp_target _prefix _imp_target_global)
|
||||
# only create the target if it is linkable, i.e. no executables
|
||||
if (NOT TARGET PkgConfig::${_prefix}
|
||||
AND ( ${_prefix}_INCLUDE_DIRS OR ${_prefix}_LINK_LIBRARIES OR ${_prefix}_LDFLAGS_OTHER OR ${_prefix}_CFLAGS_OTHER ))
|
||||
if(${_imp_target_global})
|
||||
set(_global_opt "GLOBAL")
|
||||
else()
|
||||
unset(_global_opt)
|
||||
endif()
|
||||
add_library(PkgConfig::${_prefix} INTERFACE IMPORTED ${_global_opt})
|
||||
|
||||
if(${_prefix}_INCLUDE_DIRS)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
|
||||
endif()
|
||||
if(${_prefix}_LINK_LIBRARIES)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES "${${_prefix}_LINK_LIBRARIES}")
|
||||
endif()
|
||||
if(${_prefix}_LDFLAGS_OTHER)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_LINK_OPTIONS "${${_prefix}_LDFLAGS_OTHER}")
|
||||
endif()
|
||||
if(${_prefix}_CFLAGS_OTHER)
|
||||
set_property(TARGET PkgConfig::${_prefix} PROPERTY
|
||||
INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# recalculate the dynamic output
|
||||
# this is a macro and not a function so the result of _pkg_find_libs is automatically propagated
|
||||
macro(_pkg_recalculate _prefix _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
|
||||
_pkg_find_libs(${_prefix} ${_no_cmake_path} ${_no_cmake_environment_path})
|
||||
if(${_imp_target})
|
||||
_pkg_create_imp_target(${_prefix} ${_imp_target_global})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
###
|
||||
macro(_pkg_set_path_internal)
|
||||
set(_extra_paths)
|
||||
|
||||
if(NOT _no_cmake_path)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT _no_cmake_environment_path)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
|
||||
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT _extra_paths STREQUAL "")
|
||||
# Save the PKG_CONFIG_PATH environment variable, and add paths
|
||||
# from the CMAKE_PREFIX_PATH variables
|
||||
set(_pkgconfig_path_old "$ENV{PKG_CONFIG_PATH}")
|
||||
set(_pkgconfig_path "${_pkgconfig_path_old}")
|
||||
if(NOT _pkgconfig_path STREQUAL "")
|
||||
file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
|
||||
endif()
|
||||
|
||||
# Create a list of the possible pkgconfig subfolder (depending on
|
||||
# the system
|
||||
set(_lib_dirs)
|
||||
if(NOT DEFINED CMAKE_SYSTEM_NAME
|
||||
OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
|
||||
AND NOT CMAKE_CROSSCOMPILING))
|
||||
if(EXISTS "/etc/debian_version") # is this a debian system ?
|
||||
if(CMAKE_LIBRARY_ARCHITECTURE)
|
||||
list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
|
||||
endif()
|
||||
else()
|
||||
# not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
|
||||
get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
|
||||
if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
|
||||
list(APPEND _lib_dirs "lib32/pkgconfig")
|
||||
endif()
|
||||
get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
|
||||
if(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
list(APPEND _lib_dirs "lib64/pkgconfig")
|
||||
endif()
|
||||
get_property(uselibx32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS)
|
||||
if(uselibx32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF X32")
|
||||
list(APPEND _lib_dirs "libx32/pkgconfig")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_CROSSCOMPILING)
|
||||
list(APPEND _lib_dirs "libdata/pkgconfig")
|
||||
endif()
|
||||
list(APPEND _lib_dirs "lib/pkgconfig")
|
||||
list(APPEND _lib_dirs "share/pkgconfig")
|
||||
|
||||
# Check if directories exist and eventually append them to the
|
||||
# pkgconfig path list
|
||||
foreach(_prefix_dir ${_extra_paths})
|
||||
foreach(_lib_dir ${_lib_dirs})
|
||||
if(EXISTS "${_prefix_dir}/${_lib_dir}")
|
||||
list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
|
||||
list(REMOVE_DUPLICATES _pkgconfig_path)
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Prepare and set the environment variable
|
||||
if(NOT _pkgconfig_path STREQUAL "")
|
||||
# remove empty values from the list
|
||||
list(REMOVE_ITEM _pkgconfig_path "")
|
||||
file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
|
||||
if(UNIX)
|
||||
string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
|
||||
string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
|
||||
endif()
|
||||
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
|
||||
endif()
|
||||
|
||||
# Unset variables
|
||||
unset(_lib_dirs)
|
||||
unset(_pkgconfig_path)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(_pkg_restore_path_internal)
|
||||
if(NOT _extra_paths STREQUAL "")
|
||||
# Restore the environment variable
|
||||
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path_old}")
|
||||
endif()
|
||||
|
||||
unset(_extra_paths)
|
||||
unset(_pkgconfig_path_old)
|
||||
endmacro()
|
||||
|
||||
###
|
||||
macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global _prefix)
|
||||
_pkgconfig_unset(${_prefix}_FOUND)
|
||||
_pkgconfig_unset(${_prefix}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_LIBDIR)
|
||||
_pkgconfig_unset(${_prefix}_MODULE_NAME)
|
||||
_pkgconfig_unset(${_prefix}_LIBS)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_L)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
|
||||
_pkgconfig_unset(${_prefix}_LIBS_OTHER)
|
||||
_pkgconfig_unset(${_prefix}_CFLAGS)
|
||||
_pkgconfig_unset(${_prefix}_CFLAGS_I)
|
||||
_pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
|
||||
_pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
|
||||
|
||||
# create a better addressable variable of the modules and calculate its size
|
||||
set(_pkg_check_modules_list ${ARGN})
|
||||
list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
|
||||
|
||||
if(PKG_CONFIG_EXECUTABLE)
|
||||
# give out status message telling checked module
|
||||
if (NOT ${_is_silent})
|
||||
if (_pkg_check_modules_cnt EQUAL 1)
|
||||
message(STATUS "Checking for module '${_pkg_check_modules_list}'")
|
||||
else()
|
||||
message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(_pkg_check_modules_packages)
|
||||
set(_pkg_check_modules_failed)
|
||||
|
||||
_pkg_set_path_internal()
|
||||
|
||||
# iterate through module list and check whether they exist and match the required version
|
||||
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
|
||||
set(_pkg_check_modules_exist_query)
|
||||
|
||||
# check whether version is given
|
||||
if (_pkg_check_modules_pkg MATCHES "(.*[^><])(=|[><]=?)(.*)")
|
||||
set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
|
||||
set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
|
||||
set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
|
||||
else()
|
||||
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
|
||||
set(_pkg_check_modules_pkg_op)
|
||||
set(_pkg_check_modules_pkg_ver)
|
||||
endif()
|
||||
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
|
||||
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
|
||||
|
||||
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
|
||||
|
||||
# create the final query which is of the format:
|
||||
# * <pkg-name> > <version>
|
||||
# * <pkg-name> >= <version>
|
||||
# * <pkg-name> = <version>
|
||||
# * <pkg-name> <= <version>
|
||||
# * <pkg-name> < <version>
|
||||
# * --exists <pkg-name>
|
||||
list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
|
||||
if (_pkg_check_modules_pkg_op)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name} ${_pkg_check_modules_pkg_op} ${_pkg_check_modules_pkg_ver}")
|
||||
else()
|
||||
list(APPEND _pkg_check_modules_exist_query --exists)
|
||||
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
|
||||
endif()
|
||||
|
||||
# execute the query
|
||||
execute_process(
|
||||
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
|
||||
RESULT_VARIABLE _pkgconfig_retval
|
||||
ERROR_VARIABLE _pkgconfig_error
|
||||
ERROR_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
# evaluate result and tell failures
|
||||
if (_pkgconfig_retval)
|
||||
if(NOT ${_is_silent})
|
||||
message(STATUS " ${_pkgconfig_error}")
|
||||
endif()
|
||||
|
||||
set(_pkg_check_modules_failed 1)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(_pkg_check_modules_failed)
|
||||
# fail when requested
|
||||
if (${_is_required})
|
||||
message(FATAL_ERROR "A required package was not found")
|
||||
endif ()
|
||||
else()
|
||||
# when we are here, we checked whether requested modules
|
||||
# exist. Now, go through them and set variables
|
||||
|
||||
_pkgconfig_set(${_prefix}_FOUND 1)
|
||||
list(LENGTH _pkg_check_modules_packages pkg_count)
|
||||
|
||||
# iterate through all modules again and set individual variables
|
||||
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
|
||||
# handle case when there is only one package required
|
||||
if (pkg_count EQUAL 1)
|
||||
set(_pkg_check_prefix "${_prefix}")
|
||||
else()
|
||||
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
|
||||
endif()
|
||||
|
||||
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
|
||||
pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
|
||||
pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
|
||||
pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
|
||||
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
|
||||
_pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
|
||||
endforeach ()
|
||||
_pkgconfig_set("${_pkg_check_prefix}_MODULE_NAME" "${_pkg_check_modules_pkg}")
|
||||
|
||||
if (NOT ${_is_silent})
|
||||
message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
|
||||
endif ()
|
||||
endforeach()
|
||||
|
||||
# set variables which are combined for multiple modules
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other )
|
||||
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
|
||||
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
|
||||
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
|
||||
_pkg_restore_path_internal()
|
||||
else()
|
||||
if (${_is_required})
|
||||
message(SEND_ERROR "pkg-config tool not found")
|
||||
endif ()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_check_modules
|
||||
|
||||
Checks for all the given modules, setting a variety of result variables in
|
||||
the calling scope.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules(<prefix>
|
||||
[REQUIRED] [QUIET]
|
||||
[NO_CMAKE_PATH]
|
||||
[NO_CMAKE_ENVIRONMENT_PATH]
|
||||
[IMPORTED_TARGET [GLOBAL]]
|
||||
<moduleSpec> [<moduleSpec>...])
|
||||
|
||||
When the ``REQUIRED`` argument is given, the command will fail with an error
|
||||
if module(s) could not be found.
|
||||
|
||||
When the ``QUIET`` argument is given, no status messages will be printed.
|
||||
|
||||
By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
|
||||
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set to a
|
||||
boolean ``True`` value, then the :variable:`CMAKE_PREFIX_PATH`,
|
||||
:variable:`CMAKE_FRAMEWORK_PATH`, and :variable:`CMAKE_APPBUNDLE_PATH` cache
|
||||
and environment variables will be added to the ``pkg-config`` search path.
|
||||
The ``NO_CMAKE_PATH`` and ``NO_CMAKE_ENVIRONMENT_PATH`` arguments
|
||||
disable this behavior for the cache variables and environment variables
|
||||
respectively.
|
||||
|
||||
The ``IMPORTED_TARGET`` argument will create an imported target named
|
||||
``PkgConfig::<prefix>`` that can be passed directly as an argument to
|
||||
:command:`target_link_libraries`. The ``GLOBAL`` argument will make the
|
||||
imported target available in global scope.
|
||||
|
||||
Each ``<moduleSpec>`` can be either a bare module name or it can be a
|
||||
module name with a version constraint (operators ``=``, ``<``, ``>``,
|
||||
``<=`` and ``>=`` are supported). The following are examples for a module
|
||||
named ``foo`` with various constraints:
|
||||
|
||||
- ``foo`` matches any version.
|
||||
- ``foo<2`` only matches versions before 2.
|
||||
- ``foo>=3.1`` matches any version from 3.1 or later.
|
||||
- ``foo=1.2.3`` requires that foo must be exactly version 1.2.3.
|
||||
|
||||
The following variables may be set upon return. Two sets of values exist:
|
||||
One for the common case (``<XXX> = <prefix>``) and another for the
|
||||
information ``pkg-config`` provides when called with the ``--static``
|
||||
option (``<XXX> = <prefix>_STATIC``).
|
||||
|
||||
``<XXX>_FOUND``
|
||||
set to 1 if module(s) exist
|
||||
``<XXX>_LIBRARIES``
|
||||
only the libraries (without the '-l')
|
||||
``<XXX>_LINK_LIBRARIES``
|
||||
the libraries and their absolute paths
|
||||
``<XXX>_LIBRARY_DIRS``
|
||||
the paths of the libraries (without the '-L')
|
||||
``<XXX>_LDFLAGS``
|
||||
all required linker flags
|
||||
``<XXX>_LDFLAGS_OTHER``
|
||||
all other linker flags
|
||||
``<XXX>_INCLUDE_DIRS``
|
||||
the '-I' preprocessor flags (without the '-I')
|
||||
``<XXX>_CFLAGS``
|
||||
all required cflags
|
||||
``<XXX>_CFLAGS_OTHER``
|
||||
the other compiler flags
|
||||
|
||||
All but ``<XXX>_FOUND`` may be a :ref:`;-list <CMake Language Lists>` if the
|
||||
associated variable returned from ``pkg-config`` has multiple values.
|
||||
|
||||
There are some special variables whose prefix depends on the number of
|
||||
``<moduleSpec>`` given. When there is only one ``<moduleSpec>``,
|
||||
``<YYY>`` will simply be ``<prefix>``, but if two or more ``<moduleSpec>``
|
||||
items are given, ``<YYY>`` will be ``<prefix>_<moduleName>``.
|
||||
|
||||
``<YYY>_VERSION``
|
||||
version of the module
|
||||
``<YYY>_PREFIX``
|
||||
prefix directory of the module
|
||||
``<YYY>_INCLUDEDIR``
|
||||
include directory of the module
|
||||
``<YYY>_LIBDIR``
|
||||
lib directory of the module
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (GLIB2 glib-2.0)
|
||||
|
||||
Looks for any version of glib2. If found, the output variable
|
||||
``GLIB2_VERSION`` will hold the actual version found.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (GLIB2 glib-2.0>=2.10)
|
||||
|
||||
Looks for at least version 2.10 of glib2. If found, the output variable
|
||||
``GLIB2_VERSION`` will hold the actual version found.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
|
||||
|
||||
Looks for both glib2-2.0 (at least version 2.10) and any version of
|
||||
gtk2+-2.0. Only if both are found will ``FOO`` be considered found.
|
||||
The ``FOO_glib-2.0_VERSION`` and ``FOO_gtk+-2.0_VERSION`` variables will be
|
||||
set to their respective found module versions.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_check_modules (XRENDER REQUIRED xrender)
|
||||
|
||||
Requires any version of ``xrender``. Example output variables set by a
|
||||
successful call::
|
||||
|
||||
XRENDER_LIBRARIES=Xrender;X11
|
||||
XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
|
||||
#]========================================]
|
||||
macro(pkg_check_modules _prefix _module0)
|
||||
_pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR
|
||||
(NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR
|
||||
( "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}"))
|
||||
_pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" ${_pkg_modules})
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
if (${_prefix}_FOUND)
|
||||
_pkgconfig_set(__pkg_config_arguments_${_prefix} "${_module0};${ARGN}")
|
||||
endif()
|
||||
else()
|
||||
if (${_prefix}_FOUND)
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_search_module
|
||||
|
||||
The behavior of this command is the same as :command:`pkg_check_modules`,
|
||||
except that rather than checking for all the specified modules, it searches
|
||||
for just the first successful match.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_search_module(<prefix>
|
||||
[REQUIRED] [QUIET]
|
||||
[NO_CMAKE_PATH]
|
||||
[NO_CMAKE_ENVIRONMENT_PATH]
|
||||
[IMPORTED_TARGET [GLOBAL]]
|
||||
<moduleSpec> [<moduleSpec>...])
|
||||
|
||||
If a module is found, the ``<prefix>_MODULE_NAME`` variable will contain the
|
||||
name of the matching module. This variable can be used if you need to run
|
||||
:command:`pkg_get_variable`.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
|
||||
#]========================================]
|
||||
macro(pkg_search_module _prefix _module0)
|
||||
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
|
||||
# check cached value
|
||||
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 0)
|
||||
|
||||
if (NOT ${_pkg_is_silent})
|
||||
message(STATUS "Checking for one of the modules '${_pkg_modules_alt}'")
|
||||
endif ()
|
||||
|
||||
# iterate through all modules and stop at the first working one.
|
||||
foreach(_pkg_alt ${_pkg_modules_alt})
|
||||
if(NOT _pkg_modules_found)
|
||||
_pkg_check_modules_internal(0 1 ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" "${_pkg_alt}")
|
||||
endif()
|
||||
|
||||
if (${_prefix}_FOUND)
|
||||
set(_pkg_modules_found 1)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (NOT ${_prefix}_FOUND)
|
||||
if(${_pkg_is_required})
|
||||
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
|
||||
elseif (${_prefix}_FOUND)
|
||||
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#[========================================[.rst:
|
||||
.. command:: pkg_get_variable
|
||||
|
||||
Retrieves the value of a pkg-config variable ``varName`` and stores it in the
|
||||
result variable ``resultVar`` in the calling scope.
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_get_variable(<resultVar> <moduleName> <varName>)
|
||||
|
||||
If ``pkg-config`` returns multiple values for the specified variable,
|
||||
``resultVar`` will contain a :ref:`;-list <CMake Language Lists>`.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
|
||||
#]========================================]
|
||||
function (pkg_get_variable result pkg variable)
|
||||
_pkg_set_path_internal()
|
||||
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
|
||||
set("${result}"
|
||||
"${prefix_result}"
|
||||
PARENT_SCOPE)
|
||||
_pkg_restore_path_internal()
|
||||
endfunction ()
|
||||
|
||||
|
||||
#[========================================[.rst:
|
||||
Variables Affecting Behavior
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. variable:: PKG_CONFIG_EXECUTABLE
|
||||
|
||||
This can be set to the path of the pkg-config executable. If not provided,
|
||||
it will be set by the module as a result of calling :command:`find_program`
|
||||
internally. The ``PKG_CONFIG`` environment variable can be used as a hint.
|
||||
|
||||
.. variable:: PKG_CONFIG_USE_CMAKE_PREFIX_PATH
|
||||
|
||||
Specifies whether :command:`pkg_check_modules` and
|
||||
:command:`pkg_search_module` should add the paths in the
|
||||
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH` and
|
||||
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables to the
|
||||
``pkg-config`` search path.
|
||||
|
||||
If this variable is not set, this behavior is enabled by default if
|
||||
:variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
|
||||
otherwise.
|
||||
#]========================================]
|
||||
|
||||
|
||||
### Local Variables:
|
||||
### mode: cmake
|
||||
### End:
|
||||
+59
-20
@@ -1,21 +1,17 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Python
|
||||
@@ -24,17 +20,60 @@
|
||||
# code sets the following variables:
|
||||
#
|
||||
# PYTHON_EXECUTABLE = full path to the python binary
|
||||
# PYTHON_INCLUDE_DIRS = path to where python.h can be found
|
||||
# PYTHON_LIBRARIES = path to where libpython.so* can be found
|
||||
# PYTHON_LDFLAGS = python compiler options for linking
|
||||
# PYTHON_INCLUDE_PATH = path to where python.h can be found
|
||||
# PYTHON_LIBRARY = path to where libpython.so* can be found
|
||||
# PYTHON_LFLAGS = python compiler options for linking
|
||||
|
||||
include(FindPkgConfig)
|
||||
IF(PYTHON_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(PYTHON_FIND_QUIETLY TRUE)
|
||||
ENDIF(PYTHON_FOUND)
|
||||
|
||||
if(ENABLE_PYTHON2)
|
||||
pkg_check_modules(PYTHON python2 IMPORTED_TARGET GLOBAL)
|
||||
else()
|
||||
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
|
||||
if(NOT PYTHON_FOUND)
|
||||
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
|
||||
endif()
|
||||
endif()
|
||||
FIND_PROGRAM(PYTHON_EXECUTABLE
|
||||
NAMES python python2.5 python2.4 python2.3 python2.2
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(PYTHON_EXECUTABLE)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('CONFINCLUDEPY')"
|
||||
OUTPUT_VARIABLE PYTHON_INC_DIR
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('LIBPL')"
|
||||
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_config_var('LINKFORSHARED')"
|
||||
OUTPUT_VARIABLE PYTHON_LFLAGS
|
||||
)
|
||||
|
||||
# remove the new lines from the output by replacing them with empty strings
|
||||
STRING(REPLACE "\n" "" PYTHON_INC_DIR "${PYTHON_INC_DIR}")
|
||||
STRING(REPLACE "\n" "" PYTHON_POSSIBLE_LIB_PATH "${PYTHON_POSSIBLE_LIB_PATH}")
|
||||
STRING(REPLACE "\n" "" PYTHON_LFLAGS "${PYTHON_LFLAGS}")
|
||||
|
||||
FIND_PATH(PYTHON_INCLUDE_PATH
|
||||
NAMES Python.h
|
||||
PATHS ${PYTHON_INC_DIR}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(PYTHON_LIBRARY
|
||||
NAMES python python2.5 python2.4 python2.3 python2.2
|
||||
PATHS ${PYTHON_POSSIBLE_LIB_PATH}
|
||||
)
|
||||
|
||||
IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
|
||||
SET(PYTHON_FOUND TRUE)
|
||||
ENDIF(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
PYTHON_EXECUTABLE
|
||||
PYTHON_INCLUDE_PATH
|
||||
PYTHON_LIBRARY
|
||||
PYTHON_LFLAGS
|
||||
)
|
||||
|
||||
ENDIF(PYTHON_EXECUTABLE)
|
||||
|
||||
+58
-26
@@ -1,20 +1,17 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Ruby
|
||||
@@ -22,24 +19,59 @@
|
||||
# and libraries are. It also determines what the name of the library is. This
|
||||
# code sets the following variables:
|
||||
#
|
||||
# RUBY_INCLUDE_DIRS = C flags to compile with ruby
|
||||
# RUBY_LIBRARY_DIRS = linker flags to compile with ruby (found with pkg-config)
|
||||
# RUBY_LIB = ruby library (found without pkg-config)
|
||||
# RUBY_EXECUTABLE = full path to the ruby binary
|
||||
# RUBY_INCLUDE_PATH = path to where ruby.h can be found
|
||||
# RUBY_LIBRARY = path to where libruby.so* can be found
|
||||
|
||||
if(RUBY_FOUND)
|
||||
# Already in cache, be silent
|
||||
set(RUBY_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
IF(RUBY_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(RUBY_FIND_QUIETLY TRUE)
|
||||
ENDIF(RUBY_FOUND)
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# set specific search path for macOS
|
||||
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/ruby/lib/pkgconfig")
|
||||
endif()
|
||||
pkg_search_module(RUBY ruby-3.1 ruby-3.0 ruby-2.7 ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby)
|
||||
if(RUBY_FOUND AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
# FIXME: weird hack: hardcoding the Ruby lib location on macOS
|
||||
set(RUBY_LDFLAGS "${RUBY_LDFLAGS} -L/usr/local/opt/ruby/lib")
|
||||
endif()
|
||||
endif()
|
||||
FIND_PROGRAM(RUBY_EXECUTABLE
|
||||
NAMES ruby ruby1.9 ruby19 ruby1.8 ruby18 ruby1.6 ruby16
|
||||
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
|
||||
)
|
||||
|
||||
IF(RUBY_EXECUTABLE)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['archdir']"
|
||||
OUTPUT_VARIABLE RUBY_ARCH_DIR
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['libdir']"
|
||||
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts Config::CONFIG['rubylibdir']"
|
||||
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
|
||||
)
|
||||
|
||||
# remove the new lines from the output by replacing them with empty strings
|
||||
STRING(REPLACE "\n" "" RUBY_ARCH_DIR "${RUBY_ARCH_DIR}")
|
||||
STRING(REPLACE "\n" "" RUBY_POSSIBLE_LIB_PATH "${RUBY_POSSIBLE_LIB_PATH}")
|
||||
STRING(REPLACE "\n" "" RUBY_RUBY_LIB_PATH "${RUBY_RUBY_LIB_PATH}")
|
||||
|
||||
FIND_PATH(RUBY_INCLUDE_PATH
|
||||
NAMES ruby.h
|
||||
PATHS ${RUBY_ARCH_DIR}
|
||||
)
|
||||
|
||||
FIND_LIBRARY(RUBY_LIBRARY
|
||||
NAMES ruby ruby1.6 ruby16 ruby1.8 ruby18 ruby1.9 ruby19
|
||||
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
|
||||
)
|
||||
|
||||
IF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
|
||||
SET(RUBY_FOUND TRUE)
|
||||
ENDIF(RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
RUBY_EXECUTABLE
|
||||
RUBY_LIBRARY
|
||||
RUBY_INCLUDE_PATH
|
||||
)
|
||||
|
||||
ENDIF(RUBY_EXECUTABLE)
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2015-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find V8 (Google's JavaScript engine)
|
||||
# This module finds if libv8 is installed and determines where
|
||||
# the include files and libraries are.
|
||||
#
|
||||
# This code sets the following variables:
|
||||
#
|
||||
# V8_INCLUDE_DIR = path to where v8.h can be found
|
||||
# V8_LIBRARY = path to where libv8.so* can be found
|
||||
|
||||
if(V8_FOUND)
|
||||
# Already in cache, be silent
|
||||
SET(V8_FIND_QUIETLY TRUE)
|
||||
endif()
|
||||
|
||||
set(V8_INC_PATHS
|
||||
/usr/include
|
||||
${CMAKE_INCLUDE_PATH}
|
||||
)
|
||||
find_path(V8_INCLUDE_DIR v8.h PATHS ${V8_INC_PATHS})
|
||||
find_library(V8_LIBRARY
|
||||
NAMES v8
|
||||
PATHS /lib /usr/lib /usr/local/lib /usr/pkg/lib
|
||||
)
|
||||
|
||||
find_package_handle_standard_args(V8 DEFAULT_MSG V8_LIBRARY V8_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(
|
||||
V8_INCLUDE_DIR
|
||||
V8_LIBRARY
|
||||
)
|
||||
@@ -1,76 +0,0 @@
|
||||
# - Find zlib
|
||||
# Find the native ZLIB includes and library.
|
||||
# Once done this will define
|
||||
#
|
||||
# ZLIB_INCLUDE_DIRS - where to find zlib.h, etc.
|
||||
# ZLIB_LIBRARIES - List of libraries when using zlib.
|
||||
# ZLIB_FOUND - True if zlib found.
|
||||
#
|
||||
# ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
|
||||
# ZLIB_VERSION_MAJOR - The major version of zlib
|
||||
# ZLIB_VERSION_MINOR - The minor version of zlib
|
||||
# ZLIB_VERSION_PATCH - The patch version of zlib
|
||||
# ZLIB_VERSION_TWEAK - The tweak version of zlib
|
||||
#
|
||||
# The following variable are provided for backward compatibility
|
||||
#
|
||||
# ZLIB_MAJOR_VERSION - The major version of zlib
|
||||
# ZLIB_MINOR_VERSION - The minor version of zlib
|
||||
# ZLIB_PATCH_VERSION - The patch version of zlib
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2001-2009 Kitware, Inc.
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file Copyright.txt for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
find_path(ZLIB_INCLUDE_DIR zlib.h
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/include"
|
||||
)
|
||||
|
||||
set(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
|
||||
find_library(ZLIB_LIBRARY
|
||||
NAMES
|
||||
${ZLIB_NAMES}
|
||||
PATHS
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
|
||||
)
|
||||
mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
|
||||
|
||||
if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
|
||||
file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
|
||||
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
|
||||
string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
|
||||
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
|
||||
|
||||
# only append a TWEAK version if it exists:
|
||||
set(ZLIB_VERSION_TWEAK "")
|
||||
if("${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
||||
set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
|
||||
set(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
|
||||
endif()
|
||||
|
||||
set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
||||
set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
||||
set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
|
||||
VERSION_VAR ZLIB_VERSION_STRING)
|
||||
|
||||
if(ZLIB_FOUND)
|
||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
||||
set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
||||
endif()
|
||||
@@ -1,38 +1,21 @@
|
||||
#
|
||||
# Copyright (C) 2003-2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# This file is part of WeeChat, the extensible chat client.
|
||||
#
|
||||
# WeeChat is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WeeChat is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
|
||||
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
STRING(REGEX REPLACE "\n" ";" files "${files}")
|
||||
FOREACH(file ${files})
|
||||
MESSAGE(STATUS "Uninstalling \"${file}\"")
|
||||
IF(NOT EXISTS "${file}")
|
||||
MESSAGE(FATAL_ERROR "File \"${file}\" does not exists.")
|
||||
ENDIF(NOT EXISTS "${file}")
|
||||
EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RETURN_VARIABLE rm_retval)
|
||||
IF("${rm_retval}" GREATER 0)
|
||||
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
|
||||
ENDIF("${rm_retval}" GREATER 0)
|
||||
ENDFOREACH(file)
|
||||
|
||||
|
||||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||
endif()
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
string(REGEX REPLACE ";$" "" files "${files}")
|
||||
list(REVERSE files)
|
||||
foreach(file ${files})
|
||||
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
||||
if(EXISTS "$ENV{DESTDIR}${file}")
|
||||
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}" OUTPUT_VARIABLE rm_out RESULT_VARIABLE rm_retval)
|
||||
if("${rm_retval}" GREATER 0)
|
||||
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
VERSION=@VERSION@
|
||||
SRCROOT=@CMAKE_SOURCE_DIR@
|
||||
BUILDDIR=@CMAKE_BINARY_DIR@
|
||||
PROJECT=@PROJECT_NAME@
|
||||
TAG=release-$(echo $VERSION | sed -e 's/\./-/g')
|
||||
|
||||
EXCLUDE="@DIST_EXCLUDE@"
|
||||
EXPORT_DIR="${PROJECT}-${VERSION}"
|
||||
|
||||
if [ -z $CVSROOT ]; then
|
||||
echo "The CVSROOT variable must be set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Exporting source tree"
|
||||
if [ $(echo $VERSION | grep cvs) ]; then
|
||||
cvs export -r HEAD -d $PROJECT-$VERSION $PROJECT
|
||||
else
|
||||
cvs export -r $TAG -d $PROJECT-$VERSION $PROJECT
|
||||
fi
|
||||
|
||||
echo "Removing not needed stuff"
|
||||
for i in $EXCLUDE ; do
|
||||
echo " $i"
|
||||
rm -rf $EXPORT_DIR/$i
|
||||
done
|
||||
|
||||
echo "Generating archive"
|
||||
tar cjf ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 ${EXPORT_DIR}
|
||||
|
||||
echo "Cleaning up"
|
||||
rm -rf ${EXPORT_DIR}
|
||||
+19
-11
@@ -1,21 +1,29 @@
|
||||
#cmakedefine HAVE_ARPA_INET_H
|
||||
#cmakedefine HAVE_LIBINTL_H
|
||||
#cmakedefine HAVE_SYS_RESOURCE_H
|
||||
#cmakedefine HAVE_LIMITS_H
|
||||
#cmakedefine HAVE_LOCALE_H
|
||||
#cmakedefine HAVE_NETDB_H
|
||||
#cmakedefine HAVE_NETINET_IN_H
|
||||
#cmakedefine HAVE_STDLIB_H
|
||||
#cmakedefine HAVE_STRING_H
|
||||
#cmakedefine HAVE_SYS_SOCKET_H
|
||||
#cmakedefine HAVE_SYS_TIME_H
|
||||
#cmakedefine HAVE_SYS_TYPES_H
|
||||
#cmakedefine HAVE_UNISTD_H
|
||||
#cmakedefine HAVE_PWD_H
|
||||
#cmakedefine HAVE_ERRNO_H
|
||||
#cmakedefine HAVE_REGEX_H
|
||||
#cmakedefine HAVE_WCHAR_H
|
||||
#cmakedefine HAVE_SYS_FILE_H
|
||||
#cmakedefine HAVE_FLOCK
|
||||
#cmakedefine HAVE_LANGINFO_CODESET
|
||||
#cmakedefine HAVE_BACKTRACE
|
||||
#cmakedefine HAVE_STRNDUP
|
||||
#cmakedefine ICONV_2ARG_IS_CONST 1
|
||||
#cmakedefine HAVE_MALLINFO
|
||||
#cmakedefine HAVE_MALLINFO2
|
||||
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
|
||||
#cmakedefine HAVE_ASPELL_VERSION_STRING
|
||||
#cmakedefine HAVE_ENCHANT_GET_VERSION
|
||||
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
|
||||
#define PACKAGE_VERSION "@VERSION@"
|
||||
#define PACKAGE "@PROJECT_NAME@"
|
||||
#define PACKAGE_NAME "@PROJECT_NAME@"
|
||||
#define PACKAGE_STRING "@PKG_STRING@"
|
||||
#define WEECHAT_LIBDIR "@WEECHAT_LIBDIR@"
|
||||
#define WEECHAT_SHAREDIR "@WEECHAT_SHAREDIR@"
|
||||
#define WEECHAT_LIBDIR "@LIBDIR@"
|
||||
#define WEECHAT_SHAREDIR "@SHAREDIR@"
|
||||
#define LOCALEDIR "@LOCALEDIR@"
|
||||
#define WEECHAT_HOME "@WEECHAT_HOME@"
|
||||
#define _GNU_SOURCE 1
|
||||
|
||||
-1606
File diff suppressed because it is too large
Load Diff
+906
@@ -0,0 +1,906 @@
|
||||
# Copyright (c) 2003-2007 FlashCode <flashcode@flashtux.org>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# -*- Autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.56)
|
||||
AC_INIT(WeeChat, 0.2.6.3, flashcode@flashtux.org)
|
||||
AC_CONFIG_SRCDIR([src/common/weechat.c])
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
AM_INIT_AUTOMAKE([weechat], [0.2.6.3])
|
||||
|
||||
# Checks for programs
|
||||
AC_PROG_CC
|
||||
AC_PROG_MAKE_SET
|
||||
AC_GNU_SOURCE
|
||||
AM_PROG_LIBTOOL
|
||||
AC_CHECK_PROG(DBLATEX_FOUND, "dblatex", "yes")
|
||||
|
||||
# Add some flags for some OS
|
||||
case "$host_os" in
|
||||
freebsd* | openbsd*)
|
||||
CFLAGS="$CFLAGS -I/usr/local/include"
|
||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
||||
;;
|
||||
netbsd*)
|
||||
CFLAGS="$CFLAGS -I/usr/pkg/include"
|
||||
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
|
||||
;;
|
||||
solaris*)
|
||||
LDFLAGS="$LDFLAGS -lsocket -lxnet"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Gettext
|
||||
ALL_LINGUAS="fr es cs hu de ru"
|
||||
AM_GNU_GETTEXT([use-libtool])
|
||||
AM_GNU_GETTEXT_VERSION([0.15])
|
||||
|
||||
# Checks for libraries
|
||||
AC_CHECK_LIB(ncurses, initscr, LIBNCURSES_FOUND=1, LIBNCURSES_FOUND=0)
|
||||
AC_CHECK_LIB(ncursesw, initscr, LIBNCURSESW_FOUND=1, LIBNCURSESW_FOUND=0)
|
||||
|
||||
# Checks for header files
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([arpa/inet.h libintl.h limits.h locale.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h sys/types.h unistd.h pwd.h errno.h regex.h wchar.h sys/file.h])
|
||||
|
||||
if echo "$host_os" | grep "^openbsd" 1>/dev/null 2>&1 ; then
|
||||
AC_CHECK_HEADER(utf8/wchar.h, LDFLAGS="$LDFLAGS -lutf8", [AC_MSG_ERROR([
|
||||
*** on OpenBSD systems, package libutf8 must be installed to compile WeeChat])])
|
||||
fi
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
|
||||
AC_MSG_CHECKING([for socklen_t])
|
||||
AC_CACHE_VAL(ac_cv_type_socklen_t,
|
||||
[AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>],
|
||||
[socklen_t t;],
|
||||
ac_cv_type_socklen_t=yes,
|
||||
ac_cv_type_socklen_t=no,
|
||||
)])
|
||||
if test $ac_cv_type_socklen_t = no; then
|
||||
AC_DEFINE(socklen_t, int, Define to 'int' if <sys/socket.h> doesn't define.)
|
||||
fi
|
||||
AC_MSG_RESULT($ac_cv_type_socklen_t)
|
||||
|
||||
# Checks for library functions.
|
||||
AC_FUNC_SELECT_ARGTYPES
|
||||
AC_TYPE_SIGNAL
|
||||
AC_CHECK_FUNCS([gethostbyname gethostname getsockname gettimeofday inet_ntoa memset mkdir select setlocale socket strcasecmp strchr strdup strndup strncasecmp strpbrk strrchr strstr uname regexec])
|
||||
|
||||
# Variables in config.h
|
||||
|
||||
AH_VERBATIM([PREFIX], [#undef PREFIX])
|
||||
AH_VERBATIM([WEECHAT_LIBDIR], [#undef WEECHAT_LIBDIR])
|
||||
AH_VERBATIM([WEECHAT_SHAREDIR], [#undef WEECHAT_SHAREDIR])
|
||||
AH_VERBATIM([PLUGINS], [#undef PLUGINS])
|
||||
AH_VERBATIM([PLUGIN_PERL], [#undef PLUGIN_PERL])
|
||||
AH_VERBATIM([PLUGIN_PYTHON], [#undef PLUGIN_PYTHON])
|
||||
AH_VERBATIM([PLUGIN_RUBY], [#undef PLUGIN_RUBY])
|
||||
AH_VERBATIM([PLUGIN_LUA], [#undef PLUGIN_LUA])
|
||||
AH_VERBATIM([PLUGIN_ASPELL], [#undef PLUGIN_ASPELL])
|
||||
AH_VERBATIM([PLUGIN_CHARSET], [#undef PLUGIN_CHARSET])
|
||||
AH_VERBATIM([HAVE_GNUTLS], [#undef HAVE_GNUTLS])
|
||||
AH_VERBATIM([HAVE_FLOCK], [#undef HAVE_FLOCK])
|
||||
AH_VERBATIM([DEBUG], [#undef DEBUG])
|
||||
|
||||
# Arguments for ./configure
|
||||
|
||||
AC_ARG_ENABLE(ncurses, [ --disable-ncurses Turn off ncurses interface (default=compiled if found)],enable_ncurses=$enableval,enable_ncurses=yes)
|
||||
AC_ARG_ENABLE(wxwidgets, [ --enable-wxwidgets Turn on WxWidgets interface (default=no wxwidgets)],enable_wxwidgets=$enableval,enable_wxwidgets=no)
|
||||
AC_ARG_ENABLE(gtk, [ --enable-gtk Turn on Gtk interface (default=no Gtk)],enable_gtk=$enableval,enable_gtk=no)
|
||||
AC_ARG_ENABLE(qt, [ --enable-qt Turn on Qt interface (default=no Qt)],enable_qt=$enableval,enable_qt=no)
|
||||
AC_ARG_ENABLE(gnutls, [ --disable-gnutls Turn off gnutls support (default=compiled if found)],enable_gnutls=$enableval,enable_gnutls=yes)
|
||||
AC_ARG_ENABLE(plugins, [ --disable-plugins Turn off plugins support (default=plugins enabled)],enable_plugins=$enableval,enable_plugins=yes)
|
||||
AC_ARG_ENABLE(perl, [ --disable-perl Turn off Perl script plugin (default=compiled if found)],enable_perl=$enableval,enable_perl=yes)
|
||||
AC_ARG_ENABLE(python, [ --disable-python Turn off Python script plugin (default=compiled if found)],enable_python=$enableval,enable_python=yes)
|
||||
AC_ARG_ENABLE(ruby, [ --disable-ruby Turn off Ruby script plugin (default=compiled if found)],enable_ruby=$enableval,enable_ruby=yes)
|
||||
AC_ARG_ENABLE(lua, [ --disable-lua Turn off Lua script plugin (default=compiled if found)],enable_lua=$enableval,enable_lua=yes)
|
||||
AC_ARG_WITH(lua-inc, [ --with-lua-inc=DIR, Lua include files are in DIR (default=autodetect)],lua_inc=$withval,lua_inc='')
|
||||
AC_ARG_WITH(lua-lib, [ --with-lua-lib=DIR, Lua library files are in DIR (default=autodetect)],lua_lib=$withval,lua_lib='')
|
||||
AC_ARG_WITH(lua-suffix, [ --with-lua-suffix=ARG Lua is suffixed with ARG (default=autodetect)],lua_suffix=$withval,lua_suffix='')
|
||||
AC_ARG_ENABLE(aspell, [ --disable-aspell Turn off Aspell plugin (default=compiled if found)],enable_aspell=$enableval,enable_aspell=yes)
|
||||
AC_ARG_ENABLE(charset, [ --disable-charset Turn off Charset plugin (default=compiled if found)],enable_charset=$enableval,enable_charset=yes)
|
||||
AC_ARG_WITH(doc_xsl_prefix, [ --with-doc-xsl-prefix=DIR Docbook html/chunk.xsl is in DIR (default=autodetect)],doc_xsl_prefix=$withval,doc_xsl_prefix='')
|
||||
AC_ARG_WITH(debug, [ --with-debug Debugging: 0=no debug, 1=debug compilation, 2=debug compilation + verbose msgs (default=1)],debug=$withval,debug=1)
|
||||
|
||||
not_found=""
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# GUI
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if test "x$enable_ncurses" = "xyes" ; then
|
||||
if test "$LIBNCURSESW_FOUND" = "0" ; then
|
||||
if test "$LIBNCURSES_FOUND" = "0" ; then
|
||||
AC_MSG_WARN([
|
||||
*** ncurses library not found!
|
||||
*** WeeChat will be built without ncurses support.])
|
||||
enable_ncurses="no"
|
||||
not_found="$not_found ncurses"
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** ncursesw library not found! Falling back to "ncurses"
|
||||
*** Be careful, UTF-8 display may not work properly if your locale is UTF-8.])
|
||||
NCURSES_LIBS="-lncurses"
|
||||
fi
|
||||
else
|
||||
NCURSES_LIBS="-lncursesw"
|
||||
fi
|
||||
AC_CHECK_HEADERS([ncurses.h ncursesw/curses.h])
|
||||
AC_SUBST(NCURSES_LIBS)
|
||||
fi
|
||||
|
||||
#if test "x$enable_wxwidgets" = "xyes" ; then
|
||||
# AM_OPTIONS_WXCONFIG
|
||||
# AM_PATH_WXCONFIG(2.3.4, wxWin=1)
|
||||
#
|
||||
# if test "$wxWin" != 1; then
|
||||
# AC_MSG_ERROR([
|
||||
#*** wxWindows must be installed on your system
|
||||
#*** but wx-config script couldn't be found.
|
||||
#
|
||||
#*** Please check that wx-config is in path, the directory
|
||||
#*** where wxWindows libraries are installed (returned by
|
||||
#*** 'wx-config --libs' command) is in LD_LIBRARY_PATH or
|
||||
#*** equivalent variable and wxWindows version is 2.3.4 or above.
|
||||
# ])
|
||||
# fi
|
||||
#
|
||||
# CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
|
||||
# CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
|
||||
# CFLAGS="$CFLAGS $WX_CFLAGS_ONLY"
|
||||
# LDFLAGS="$LDFLAGS $WX_LIBS"
|
||||
#
|
||||
# WXWIDGETS_CFLAGS=""
|
||||
# WXWIDGETS_LIBS=""
|
||||
#fi
|
||||
|
||||
if test "x$enable_gtk" = "xyes" ; then
|
||||
AM_PATH_GTK_2_0(2.4.0, LIBGTK_FOUND=1, LIBGTK_FOUND=0)
|
||||
if test "$LIBGTK_FOUND" = "0" ; then
|
||||
AC_MSG_WARN([
|
||||
*** Gtk library not found!
|
||||
*** WeeChat will be built without Gtk support.])
|
||||
enable_gtk="no"
|
||||
not_found="$not_found gtk"
|
||||
else
|
||||
GTK_CFLAGS=`pkg-config --cflags gtk+-2.0`
|
||||
GTK_LIBS=`pkg-config --libs gtk+-2.0`
|
||||
AC_SUBST(GTK_CFLAGS)
|
||||
AC_SUBST(GTK_LIBS)
|
||||
fi
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# iconv
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
iconv_found="no"
|
||||
ICONV_LFLAGS=""
|
||||
|
||||
AC_CHECK_HEADER(iconv.h,ac_found_iconv_header="yes",ac_found_iconv_header="no")
|
||||
if test "x$ac_found_iconv_header" = "xyes" ; then
|
||||
AC_CHECK_LIB(iconv,iconv_open,ac_found_iconv_lib="yes",ac_found_iconv_lib="no")
|
||||
if test "x$ac_found_iconv_lib" = "xno" ; then
|
||||
AC_CHECK_LIB(iconv,libiconv_open,ac_found_iconv_lib="yes",ac_found_iconv_lib="no")
|
||||
fi
|
||||
if test "x$ac_found_iconv_lib" = "xyes" ; then
|
||||
ICONV_LFLAGS="-liconv"
|
||||
LIBS="$LIBS $ICONV_LFLAGS"
|
||||
fi
|
||||
AC_MSG_CHECKING(for iconv usability in programs)
|
||||
AC_TRY_RUN([
|
||||
#include <iconv.h>
|
||||
int main(int argc, char **argv) {
|
||||
iconv_t conv = iconv_open("ISO8859-1", "UTF-8");
|
||||
if (conv != (iconv_t) -1) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}],iconv_found="yes")
|
||||
if test "x$iconv_found" = "xno" ; then
|
||||
AC_MSG_RESULT(no)
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$iconv_found" = "xno" ; then
|
||||
AC_MSG_ERROR([
|
||||
*** Iconv headers and/or libraries couldn't be found in your system.
|
||||
*** Try to install them with your software package manager.
|
||||
*** WeeChat can't be built without Iconv support.])
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# plugins
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
PLUGINS_LIBS=
|
||||
|
||||
if test "x$enable_plugins" != "xyes" ; then
|
||||
enable_plugins="no"
|
||||
enable_perl="no"
|
||||
enable_python="no"
|
||||
enable_ruby="no"
|
||||
enable_lua="no"
|
||||
enable_aspell="no"
|
||||
enable_charset="no"
|
||||
fi
|
||||
|
||||
# ---------------------------------- perl --------------------------------------
|
||||
PERL_VERSION=
|
||||
|
||||
if test "x$enable_perl" = "xyes" ; then
|
||||
enable_plugins="yes"
|
||||
|
||||
AC_PATH_PROGS(PERL, perl perl5)
|
||||
if test -z $PERL ; then
|
||||
AC_MSG_WARN([
|
||||
*** Perl must be installed on your system but perl interpreter couldn't be found in path.
|
||||
*** Please check that perl is in path, or install it with your software package manager.
|
||||
*** WeeChat will be built without Perl support.])
|
||||
enable_perl="no"
|
||||
not_found="$not_found perl"
|
||||
else
|
||||
PERL_VERSION=`perl -V:version | sed "s/version='\(.*\)';/\1/"`
|
||||
AC_MSG_CHECKING(for Perl headers files)
|
||||
|
||||
PERL_HEADER_TEST=`PT=perltest.c ; echo "#include <EXTERN.h>" > $PT; echo "#include <perl.h>" >> $PT; echo "#include <XSUB.h>" >> $PT ; echo "int main() { return 0; }" >> $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ccopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1`
|
||||
|
||||
if test "x$PERL_HEADER_TEST" = "x0" ; then
|
||||
PERL_CFLAGS=`$PERL -MExtUtils::Embed -e ccopts`
|
||||
AC_MSG_RESULT(found)
|
||||
AC_MSG_CHECKING(for Perl library)
|
||||
PERL_LIB_TEST=`PT=perltest.c ; echo "int main() { return 0; }" > $PT ; $CC -Wall $PT -o $PT.out $($PERL -MExtUtils::Embed -e ldopts) 1>/dev/null 2>&1; echo $?; rm -f $PT $PT.out 1>/dev/null 2>&1`
|
||||
if test "x$PERL_LIB_TEST" = "x0" ; then
|
||||
PERL_LFLAGS=`$PERL -MExtUtils::Embed -e ldopts`
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** Perl library couldn't be found in your system.
|
||||
*** Try to install it with your software package manager.
|
||||
*** WeeChat will be built without Perl support.])
|
||||
enable_perl="no"
|
||||
not_found="$not_found perl"
|
||||
fi
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** Perl headers couldn't be found in your system.
|
||||
*** Try to install it with your software package manager.
|
||||
*** WeeChat will be built without Perl support.])
|
||||
enable_perl="no"
|
||||
not_found="$not_found perl"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_perl" = "xyes" ; then
|
||||
AC_SUBST(PERL_CFLAGS)
|
||||
AC_SUBST(PERL_LFLAGS)
|
||||
AC_DEFINE(PLUGIN_PERL)
|
||||
fi
|
||||
|
||||
# --------------------------------- python -------------------------------------
|
||||
PYTHON_VERSION=
|
||||
|
||||
if test "x$enable_python" = "xyes" ; then
|
||||
enable_plugins="yes"
|
||||
|
||||
AC_PATH_PROGS(PYTHON, python python2.5 python2.4 python2.3 python2.2)
|
||||
if test -z $PYTHON ; then
|
||||
AC_MSG_WARN([
|
||||
*** Python must be installed on your system but python interpreter couldn't be found in path.
|
||||
*** Please check that python is in path, or install it with your software package manager.
|
||||
*** WeeChat will be built without Python support.])
|
||||
enable_python="no"
|
||||
not_found="$not_found python"
|
||||
else
|
||||
PYTHON_SYSPREFIX=`$PYTHON -c 'import sys; print "%s" % sys.prefix'`
|
||||
PYTHON_VERSION=`$PYTHON -c 'import sys ; print sys.version[[:3]]'`
|
||||
PYTHON_INCLUDE=`$PYTHON -c "import distutils.sysconfig,string; print distutils.sysconfig.get_config_var('CONFINCLUDEPY')"`
|
||||
|
||||
AC_MSG_CHECKING(for Python header files)
|
||||
if test -r "$PYTHON_INCLUDE/Python.h"; then
|
||||
PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
|
||||
AC_MSG_RESULT(found)
|
||||
PYTHON_LIB=`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBPL')"`
|
||||
PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('LIBS')+' '+distutils.sysconfig.get_config_var('SYSLIBS')+' '+distutils.sysconfig.get_config_var('LINKFORSHARED')"`
|
||||
AC_MSG_CHECKING(for Python library)
|
||||
if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
|
||||
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
|
||||
AC_MSG_RESULT(found)
|
||||
elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
|
||||
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
|
||||
AC_MSG_RESULT(found)
|
||||
elif test -r "$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
|
||||
PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** Python library couldn't be found in your system.
|
||||
*** Try to install it with your software package manager.
|
||||
*** WeeChat will be built without Python support.])
|
||||
enable_python="no"
|
||||
not_found="$not_found python"
|
||||
fi
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** Python header files couldn't be found in your system.
|
||||
*** Try to install them with your software package manager.
|
||||
*** WeeChat will be built without Python support.])
|
||||
enable_python="no"
|
||||
not_found="$not_found python"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_python" = "xyes" ; then
|
||||
AC_SUBST(PYTHON_CFLAGS)
|
||||
AC_SUBST(PYTHON_LFLAGS)
|
||||
AC_DEFINE(PLUGIN_PYTHON)
|
||||
fi
|
||||
|
||||
# ---------------------------------- ruby --------------------------------------
|
||||
RUBY_VERSION=
|
||||
|
||||
if test "x$enable_ruby" = "xyes" ; then
|
||||
enable_plugins="yes"
|
||||
|
||||
AC_PATH_PROGS(RUBY, ruby ruby1.8 ruby1.9)
|
||||
if test -z $RUBY ; then
|
||||
AC_MSG_WARN([
|
||||
*** Ruby must be installed on your system but ruby interpreter couldn't be found in path.
|
||||
*** Please check that ruby is in path, or install it with your software package manager.
|
||||
*** WeeChat will be built without Ruby support.])
|
||||
enable_ruby="no"
|
||||
not_found="$not_found ruby"
|
||||
else
|
||||
RUBY_VERSION=`$RUBY -rrbconfig -e "puts Config::CONFIG[['ruby_version']]"`
|
||||
RUBY_INCLUDE=`$RUBY -rrbconfig -e "puts Config::CONFIG[['archdir']]"`
|
||||
AC_MSG_CHECKING(for Ruby header files)
|
||||
if test -r "$RUBY_INCLUDE/ruby.h"; then
|
||||
RUBY_CFLAGS="-I$RUBY_INCLUDE"
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** Ruby header files couldn't be found in your system.
|
||||
*** Try to install them with your software package manager.
|
||||
*** WeeChat will be built without Ruby support.])
|
||||
enable_ruby="no"
|
||||
not_found="$not_found ruby"
|
||||
fi
|
||||
AC_MSG_RESULT(found)
|
||||
RUBY_LFLAGS=`$RUBY -rrbconfig -e "puts Config::CONFIG[['LIBRUBYARG_SHARED']]"`
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_ruby" = "xyes" ; then
|
||||
AC_SUBST(RUBY_CFLAGS)
|
||||
AC_SUBST(RUBY_LFLAGS)
|
||||
AC_DEFINE(PLUGIN_RUBY)
|
||||
fi
|
||||
|
||||
# ---------------------------------- lua --------------------------------------
|
||||
LUA_VERSION=
|
||||
|
||||
if test "x$enable_lua" = "xyes" ; then
|
||||
enable_plugins="yes"
|
||||
|
||||
ac_save_CPPFLAGS="$CPPFLAGS"
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LDFLAGS="$LDFLAGS"
|
||||
|
||||
LUA_CFLAGS=""
|
||||
LUA_LFLAGS=""
|
||||
|
||||
if test -n "$lua_inc"; then
|
||||
CFLAGS="$CFLAGS -I$lua_inc"
|
||||
CPPFLAGS="$CPPFLAGS -I$lua_inc"
|
||||
fi
|
||||
if test -n "$lua_lib"; then
|
||||
LDFLAGS="$LDFLAGS -L$lua_lib"
|
||||
fi
|
||||
|
||||
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
|
||||
PKGCONFIG=""
|
||||
AC_CHECK_PROGS(PKGCONFIG, pkg-config)
|
||||
if test "x$PKGCONFIG" != "x"; then
|
||||
AC_MSG_CHECKING(for Lua headers and librairies with pkg-config)
|
||||
echo
|
||||
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
|
||||
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
|
||||
if test "x$?" = "x0" ; then
|
||||
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
|
||||
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lua$l`
|
||||
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lua$l`
|
||||
|
||||
pkgconfig_lualib_found=`$PKGCONFIG --exists lualib$l 2>/dev/null`
|
||||
if test "x$?" = "x0"; then
|
||||
LUA_CFLAGS="$LUA_CFLAGS "`$PKGCONFIG --cflags lualib$l`
|
||||
LUA_LFLAGS="$LUA_LFLAGS "`$PKGCONFIG --libs lualib$l`
|
||||
fi
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
|
||||
LUACONFIG=""
|
||||
AC_CHECK_PROGS(LUACONFIG, lua-config lua-config51 lua-config5.1 lua-config50 lua-config5.0)
|
||||
if test "x$LUACONFIG" != "x" ; then
|
||||
AC_MSG_CHECKING(for Lua headers and librairies with lua-config)
|
||||
echo
|
||||
LUA_CFLAGS=`$LUACONFIG --include`
|
||||
LUA_LFLAGS=`$LUACONFIG --libs`
|
||||
LUA_VERSION="5.0.x"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
|
||||
AC_MSG_CHECKING(for Lua headers and librairies)
|
||||
echo
|
||||
AC_CHECK_HEADER(lua.h,ac_found_lua_header="yes",ac_found_lua_header="no")
|
||||
AC_CHECK_HEADER(lualib.h,ac_found_liblua_header="yes",ac_found_liblua_header="no")
|
||||
if test "x$ac_found_lua_header" = "xyes" -a "x$ac_found_liblua_header" = "xyes"; then
|
||||
LUA_CFLAGS="$CFLAGS"
|
||||
fi
|
||||
for l in "$lua_suffix" "" "51" "5.1" "50" "5.0" ; do
|
||||
AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
|
||||
if test "x$ac_found_lua_lib" = "xyes" ; then
|
||||
LUA_VERSION=">=5.1.0"
|
||||
|
||||
LUA_LFLAGS="$LDFLAGS -llua$l -lm"
|
||||
|
||||
ac2_save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -llua$l -lm"
|
||||
|
||||
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
|
||||
LDFLAGS="$LDFLAGS -ldl"
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
|
||||
if test "x$ac_found_liblua_lib" = "xyes" ; then
|
||||
LUA_VERSION="5.0.x"
|
||||
|
||||
LUA_LFLAGS="$LUA_LFLAGS -llualib$l"
|
||||
|
||||
if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
|
||||
LUA_LFLAGS="$LUA_LFLAGS -ldl"
|
||||
fi
|
||||
fi
|
||||
|
||||
LDFLAGS="$ac2_save_LDFLAGS"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for Lua compiling and linking)
|
||||
LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT; echo "#include <lualib.h>" >> $LT; echo "int main() { luaopen_base((lua_State *)lua_open()); return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_CFLAGS $LUA_LFLAGS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
|
||||
if test "x$LUA_TEST" != "x0" ; then
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_WARN([
|
||||
*** Lua (>=5.0) headers and/or librairies couldn't be found in your system.
|
||||
*** Try to install liblua, liblualib and liblua-dev with your software package manager.
|
||||
*** WeeChat will be built without Lua support.])
|
||||
enable_lua="no"
|
||||
not_found="$not_found lua"
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
fi
|
||||
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
CPPFLAGS="$ac_save_CPPFLAGS"
|
||||
LDFLAGS="$ac_save_LDFLAGS"
|
||||
fi
|
||||
|
||||
if test "x$enable_lua" = "xyes" ; then
|
||||
AC_SUBST(LUA_CFLAGS)
|
||||
AC_SUBST(LUA_LFLAGS)
|
||||
AC_DEFINE(PLUGIN_LUA)
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# aspell
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if test "x$enable_aspell" = "xyes" ; then
|
||||
ASPELL_CFLAGS=""
|
||||
ASPELL_LFLAGS=""
|
||||
|
||||
AC_CHECK_HEADER(aspell.h,ac_found_aspell_header="yes",ac_found_aspell_header="no")
|
||||
AC_CHECK_LIB(aspell,new_aspell_speller,ac_found_aspell_lib="yes",ac_found_aspell_lib="no")
|
||||
|
||||
AC_MSG_CHECKING(for aspell headers and librairies)
|
||||
if test "x$ac_found_aspell_header" = "xno" -o "x$ac_found_aspell_lib" = "xno" ; then
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_WARN([
|
||||
*** Aspell headers and/or libraries couldn't be found in your system.
|
||||
*** Try to install them with your software package manager.
|
||||
*** WeeChat will be built without Aspell support.])
|
||||
enable_aspell="no"
|
||||
not_found="$not_found aspell"
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
ASPELL_LFLAGS="$ASPELL_LFLAGS -laspell"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_aspell" = "xyes" ; then
|
||||
AC_SUBST(ASPELL_CFLAGS)
|
||||
AC_SUBST(ASPELL_LFLAGS)
|
||||
AC_DEFINE(PLUGIN_ASPELL)
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# charset
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if test "x$enable_charset" = "xyes" ; then
|
||||
CHARSET_CFLAGS=""
|
||||
CHARSET_LFLAGS=""
|
||||
CHARSET_LFLAGS="$CHARSET_LFLAGS $ICONV_LFLAGS"
|
||||
AC_SUBST(CHARSET_CFLAGS)
|
||||
AC_SUBST(CHARSET_LFLAGS)
|
||||
AC_DEFINE(PLUGIN_CHARSET)
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# dynamic loader
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if test "x$enable_plugins" = "xyes" ; then
|
||||
AC_CHECK_FUNCS(dlopen, LIBDL_FOUND=yes, LIBDL_FOUND=no)
|
||||
if test "$LIBDL_FOUND" != "yes"; then
|
||||
AC_CHECK_LIB(dl, dlopen, [LIBDL_FOUND=yes; PLUGINS_LIBS=-ldl], LIBDL_FOUND=no)
|
||||
fi
|
||||
if test "$LIBDL_FOUND" = "yes"; then
|
||||
AC_DEFINE(PLUGINS)
|
||||
AC_SUBST(PLUGINS_LIBS)
|
||||
else
|
||||
AC_MSG_WARN([
|
||||
*** "dl" library (dynamic library loader) couldn't be found in your system.
|
||||
*** Try to install it with your software package manager or disable plugins.
|
||||
*** WeeChat will be built without any plugin.])
|
||||
enable_plugins="no"
|
||||
enable_perl="no"
|
||||
enable_python="no"
|
||||
enable_ruby="no"
|
||||
enable_lua="no"
|
||||
enable_aspell="no"
|
||||
enable_charset="no"
|
||||
not_found="$not_found plugins"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# gnutls
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if test "x$enable_gnutls" = "xyes" ; then
|
||||
AC_CHECK_HEADER(gnutls/gnutls.h,ac_found_gnutls_header="yes",ac_found_gnutls_header="no")
|
||||
AC_CHECK_LIB(gnutls,gnutls_global_init,ac_found_gnutls_lib="yes",ac_found_gnutls_lib="no")
|
||||
|
||||
AC_MSG_CHECKING(for gnutls headers and librairies)
|
||||
if test "x$ac_found_gnutls_header" = "xno" -o "x$ac_found_gnutls_lib" = "xno" ; then
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_WARN([
|
||||
*** libgnutls was not found. You may want to get it from ftp://ftp.gnutls.org/pub/gnutls/
|
||||
*** WeeChat will be built without GnuTLS support.])
|
||||
enable_gnutls="no"
|
||||
not_found="$not_found gnutls"
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
GNUTLS_CFLAGS=`pkg-config gnutls --cflags`
|
||||
GNUTLS_LFLAGS=`pkg-config gnutls --libs`
|
||||
AC_SUBST(GNUTLS_CFLAGS)
|
||||
AC_SUBST(GNUTLS_LFLAGS)
|
||||
AC_DEFINE(HAVE_GNUTLS)
|
||||
CFLAGS="$CFLAGS -DHAVE_GNUTLS"
|
||||
fi
|
||||
else
|
||||
not_asked="$not_asked gnutls"
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# flock
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
enable_flock="no"
|
||||
AC_CACHE_CHECK([for flock() support], ac_have_flock, [
|
||||
AC_TRY_COMPILE(
|
||||
[ #include <sys/file.h>
|
||||
],
|
||||
[ flock(0, LOCK_SH); ],
|
||||
[ ac_have_flock="yes" ],
|
||||
[ ac_have_flock="no" ])])
|
||||
|
||||
if test "x$ac_have_flock" = "xyes"; then
|
||||
enable_flock="yes"
|
||||
AC_DEFINE(HAVE_FLOCK)
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# backtrace
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
enable_backtrace="no"
|
||||
if test "x$debug" != "x0" ; then
|
||||
AC_CACHE_CHECK([for execinfo.h and backtrace], ac_have_backtrace, [
|
||||
AC_TRY_COMPILE(
|
||||
[ #include <execinfo.h>
|
||||
],
|
||||
[ void *trace[128]; int n = backtrace(trace, 128); ],
|
||||
[ ac_have_backtrace="yes" ],
|
||||
[ ac_have_backtrace="no" ])])
|
||||
if test "x$ac_have_backtrace" = "xyes"; then
|
||||
enable_backtrace="yes"
|
||||
AC_DEFINE(HAVE_BACKTRACE,1,[glibc backtrace function])
|
||||
fi
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# documentation
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
msg_doc=""
|
||||
|
||||
if test "x$DBLATEX_FOUND" = "xyes"; then
|
||||
msg_doc="pdf $msg_doc"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for html/chunk.xsl)
|
||||
DOC_XSL_PREFIX=""
|
||||
|
||||
if test -n "$doc_xsl_prefix"; then
|
||||
doc_xsl_prefix_path="$doc_xsl_prefix"
|
||||
else
|
||||
doc_xsl_prefix_path="/usr/share/xml/docbook/xsl-stylesheets-1.69"
|
||||
doc_xsl_prefix_path="${doc_xsl_prefix_arr} /usr/share/xml/docbook/stylesheet/nwalsh"
|
||||
fi
|
||||
|
||||
for p in $doc_xsl_prefix_path; do
|
||||
if test -f ${p}/html/chunk.xsl; then
|
||||
DOC_XSL_PREFIX="$p"
|
||||
fi
|
||||
done
|
||||
|
||||
if test "x$DOC_XSL_PREFIX" = "x"; then
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_WARN([
|
||||
*** Docbook XSL files not found
|
||||
*** WeeChat will be built without documentation.
|
||||
*** Try ./configure --with-doc-xsl-prefix=DIR if you have DIR/html/chunk.xsl file])
|
||||
else
|
||||
AC_MSG_RESULT($DOC_XSL_PREFIX)
|
||||
AC_SUBST(DOC_XSL_PREFIX)
|
||||
msg_doc="html $msg_doc"
|
||||
fi
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# general vars
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if test "x$prefix" = "xNONE" ; then
|
||||
prefix="$ac_default_prefix"
|
||||
fi
|
||||
|
||||
if test "x$exec_prefix" = "xNONE" ; then
|
||||
exec_prefix="$prefix"
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
|
||||
|
||||
WEECHAT_LIBDIR=`eval eval echo ${libdir}/weechat`
|
||||
AC_DEFINE_UNQUOTED(WEECHAT_LIBDIR, "$WEECHAT_LIBDIR")
|
||||
|
||||
WEECHAT_SHAREDIR=`eval eval echo ${datadir}/weechat`
|
||||
AC_DEFINE_UNQUOTED(WEECHAT_SHAREDIR, "$WEECHAT_SHAREDIR")
|
||||
|
||||
weechat_libdir=${libdir}/weechat
|
||||
AC_SUBST(weechat_libdir)
|
||||
|
||||
COMMON_CFLAGS="-Wall -W"
|
||||
AC_MSG_CHECKING([whether we have GNU assembler])
|
||||
GAS=`as --version < /dev/null 2>/dev/null | grep GNU`
|
||||
if test "$GAS"; then
|
||||
COMMON_CFLAGS="${COMMON_CFLAGS} -pipe"
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
CFLAGS=`echo $CFLAGS | sed s/-g//g`
|
||||
if test "x$CFLAGS" = "x" ; then
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
if test "x$debug" = "x1" || test "x$debug" = "x2" ; then
|
||||
CFLAGS="$COMMON_CFLAGS $CFLAGS -g"
|
||||
else
|
||||
CFLAGS="$COMMON_CFLAGS $CFLAGS"
|
||||
fi
|
||||
|
||||
if test "x$debug" = "x2" ; then
|
||||
AC_DEFINE(DEBUG)
|
||||
fi
|
||||
|
||||
LIBS="$LIBS $INTLLIBS"
|
||||
|
||||
case "$host_os" in
|
||||
freebsd*)
|
||||
if test "x$enable_perl" = "xyes" -o "x$enable_python" = "xyes" ; then
|
||||
CFLAGS="$CFLAGS -pthread"
|
||||
fi
|
||||
CFLAGS="$CFLAGS $CPPFLAGS"
|
||||
;;
|
||||
openbsd*)
|
||||
if test "x$enable_python" = "xyes" ; then
|
||||
CFLAGS="$CFLAGS -pthread"
|
||||
fi
|
||||
;;
|
||||
netbsd*)
|
||||
if test "x$enable_perl" = "xyes" -o "x$enable_python" = "xyes" ; then
|
||||
CFLAGS="$CFLAGS -pthread"
|
||||
fi
|
||||
CFLAGS="$CFLAGS $CPPFLAGS"
|
||||
;;
|
||||
gnu*)
|
||||
if test "x$enable_plugins" = "xyes" ; then
|
||||
LDFLAGS="$LDFLAGS -lpthread"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# output Makefiles
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes")
|
||||
AM_CONDITIONAL(GUI_WXWIDGETS, test "$enable_wxwidgets" = "yes")
|
||||
AM_CONDITIONAL(GUI_GTK, test "$enable_gtk" = "yes")
|
||||
AM_CONDITIONAL(GUI_QT, test "$enable_qt" = "yes")
|
||||
AM_CONDITIONAL(PLUGINS, test "$enable_plugins" = "yes")
|
||||
AM_CONDITIONAL(PLUGIN_PERL, test "$enable_perl" = "yes")
|
||||
AM_CONDITIONAL(PLUGIN_PYTHON, test "$enable_python" = "yes")
|
||||
AM_CONDITIONAL(PLUGIN_RUBY, test "$enable_ruby" = "yes")
|
||||
AM_CONDITIONAL(PLUGIN_LUA, test "$enable_lua" = "yes")
|
||||
AM_CONDITIONAL(PLUGIN_ASPELL, test "$enable_aspell" = "yes")
|
||||
AM_CONDITIONAL(PLUGIN_CHARSET, test "$enable_charset" = "yes")
|
||||
AM_CONDITIONAL(HAVE_GNUTLS, test "$enable_gnutls" = "yes")
|
||||
AM_CONDITIONAL(HAVE_FLOCK, test "$enable_flock" = "yes")
|
||||
AM_CONDITIONAL(DBLATEX_FOUND, test "$DBLATEX_FOUND" = "yes")
|
||||
|
||||
AC_OUTPUT([Makefile
|
||||
doc/Makefile
|
||||
doc/en/Makefile
|
||||
doc/fr/Makefile
|
||||
doc/de/Makefile
|
||||
doc/ru/Makefile
|
||||
doc/pl/Makefile
|
||||
doc/cs/Makefile
|
||||
doc/sco/Makefile
|
||||
doc/sv/Makefile
|
||||
src/Makefile
|
||||
src/common/Makefile
|
||||
src/irc/Makefile
|
||||
src/plugins/Makefile
|
||||
src/plugins/scripts/Makefile
|
||||
src/plugins/scripts/perl/Makefile
|
||||
src/plugins/scripts/python/Makefile
|
||||
src/plugins/scripts/ruby/Makefile
|
||||
src/plugins/scripts/lua/Makefile
|
||||
src/plugins/aspell/Makefile
|
||||
src/plugins/charset/Makefile
|
||||
src/gui/Makefile
|
||||
src/gui/curses/Makefile
|
||||
src/gui/wxwidgets/Makefile
|
||||
src/gui/gtk/Makefile
|
||||
src/gui/qt/Makefile
|
||||
intl/Makefile
|
||||
po/Makefile.in])
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# end message
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
listgui=""
|
||||
if test "x$enable_ncurses" = "xyes" ; then
|
||||
listgui="$listgui ncurses"
|
||||
fi
|
||||
if test "x$enable_wxwidgets" = "xyes"; then
|
||||
listgui="$listgui WxWidgets"
|
||||
fi
|
||||
if test "x$enable_gtk" = "xyes" ; then
|
||||
listgui="$listgui Gtk"
|
||||
fi
|
||||
if test "x$enable_qt" = "xyes" ; then
|
||||
listgui="$listgui Qt"
|
||||
fi
|
||||
|
||||
if test "x$listgui" = "x" ; then
|
||||
AC_MSG_ERROR([
|
||||
*** No interface specified...
|
||||
*** Please enable at least ncurses, WxWidgets, Gtk or Qt.])
|
||||
fi
|
||||
|
||||
if test "x$not_found" != "x" ; then
|
||||
echo ""
|
||||
echo "Following components were asked but not found, they will not be built:"
|
||||
echo "$not_found"
|
||||
fi
|
||||
|
||||
msg_debug_compiler="no"
|
||||
msg_debug_verbose="no"
|
||||
if test "x$debug" = "x1" || test "x$debug" = "x2" ; then
|
||||
msg_debug_compiler="yes"
|
||||
fi
|
||||
if test "x$debug" = "x2" ; then
|
||||
msg_debug_verbose="yes"
|
||||
fi
|
||||
|
||||
# plugin status
|
||||
PERL_STATUS=
|
||||
if test "x$enable_perl" = "xyes"; then
|
||||
PERL_STATUS="($PERL_VERSION)"
|
||||
fi
|
||||
|
||||
PYTHON_STATUS=
|
||||
if test "x$enable_python" = "xyes"; then
|
||||
PYTHON_STATUS="($PYTHON_VERSION)"
|
||||
fi
|
||||
|
||||
RUBY_STATUS=
|
||||
if test "x$enable_ruby" = "xyes"; then
|
||||
RUBY_STATUS="($RUBY_VERSION)"
|
||||
fi
|
||||
|
||||
LUA_STATUS=
|
||||
if test "x$enable_lua" = "xyes"; then
|
||||
LUA_STATUS="($LUA_VERSION)"
|
||||
fi
|
||||
|
||||
|
||||
echo ""
|
||||
echo "Interfaces........................ :$listgui"
|
||||
echo "Build with GNUtls support......... : $enable_gnutls"
|
||||
echo "Build with flock support.......... : $enable_flock"
|
||||
echo "Build with Plugin support......... : $enable_plugins"
|
||||
echo " Perl plugin......... : $enable_perl $PERL_STATUS"
|
||||
echo " Python plugin....... : $enable_python $PYTHON_STATUS"
|
||||
echo " Ruby plugin......... : $enable_ruby $RUBY_STATUS"
|
||||
echo " Lua plugin.......... : $enable_lua $LUA_STATUS"
|
||||
echo " Aspell plugin....... : $enable_aspell"
|
||||
echo " Charset plugin...... : $enable_charset"
|
||||
echo "Compile with debug info........... : $msg_debug_compiler"
|
||||
echo " Backtrace........... : $enable_backtrace"
|
||||
echo "Build doc..........................: $msg_doc"
|
||||
echo "Print debugging messages.......... : $msg_debug_verbose"
|
||||
echo ""
|
||||
eval echo "WeeChat will be installed in $bindir."
|
||||
echo ""
|
||||
echo "configure complete, now type 'make' to build WeeChat $VERSION"
|
||||
echo ""
|
||||
@@ -1 +0,0 @@
|
||||
12
|
||||
@@ -1,272 +0,0 @@
|
||||
Source: weechat-devel
|
||||
Section: net
|
||||
Priority: optional
|
||||
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
|
||||
Build-Depends:
|
||||
asciidoctor (>= 1.5.4),
|
||||
ruby-pygments.rb,
|
||||
debhelper (>= 12),
|
||||
cmake, pkg-config,
|
||||
libncursesw5-dev,
|
||||
gem2deb,
|
||||
libperl-dev,
|
||||
python3-dev,
|
||||
libaspell-dev,
|
||||
liblua5.3-dev,
|
||||
tcl8.6-dev,
|
||||
guile-2.2-dev,
|
||||
php-dev, libphp-embed, libargon2-dev, libsodium-dev,
|
||||
libxml2-dev,
|
||||
libcurl4-gnutls-dev,
|
||||
libgcrypt20-dev,
|
||||
libgnutls28-dev,
|
||||
libzstd-dev,
|
||||
zlib1g-dev
|
||||
Standards-Version: 4.6.0.1
|
||||
Homepage: https://weechat.org/
|
||||
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
|
||||
Vcs-Browser: https://salsa.debian.org/kolter/weechat
|
||||
|
||||
Package: weechat-devel
|
||||
Architecture: all
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
weechat-devel-curses (>= ${source:Version}) | weechat-devel-headless (>= ${source:Version})
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat
|
||||
Description: Fast, light and extensible chat client (metapackage)
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with plugins/scripts, and includes:
|
||||
- support of IRC protocol (native)
|
||||
- support of XMPP/Jabber protocol (with additional script)
|
||||
- nicklist
|
||||
- smart hotlist
|
||||
- horizontal and vertical split
|
||||
- double charset support (decode/encode)
|
||||
- FIFO pipe for remote control
|
||||
- 256 colors support
|
||||
- incremental text search
|
||||
- dynamic filtering of buffer content
|
||||
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
|
||||
- script manager
|
||||
- spell checking
|
||||
- highly customizable and extensible
|
||||
- and much more!
|
||||
|
||||
Package: weechat-devel-curses
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-core (= ${binary:Version})
|
||||
Recommends:
|
||||
weechat-devel-plugins (= ${binary:Version})
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat-curses
|
||||
Description: Fast, light and extensible chat client - console client
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with plugins/scripts, and includes:
|
||||
- support of IRC protocol (native)
|
||||
- support of XMPP/Jabber protocol (with additional script)
|
||||
- nicklist
|
||||
- smart hotlist
|
||||
- horizontal and vertical split
|
||||
- double charset support (decode/encode)
|
||||
- FIFO pipe for remote control
|
||||
- 256 colors support
|
||||
- incremental text search
|
||||
- dynamic filtering of buffer content
|
||||
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
|
||||
- script manager
|
||||
- spell checking
|
||||
- highly customizable and extensible
|
||||
- and much more!
|
||||
.
|
||||
This package provides the console client (ncurses).
|
||||
|
||||
Package: weechat-devel-headless
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-core (= ${binary:Version})
|
||||
Recommends: weechat-devel-plugins (= ${binary:Version})
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat-headless
|
||||
Description: Fast, light and extensible chat client - headless client
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
It is customizable and extensible with plugins/scripts, and includes:
|
||||
- support of IRC protocol (native)
|
||||
- support of XMPP/Jabber protocol (with additional script)
|
||||
- nicklist
|
||||
- smart hotlist
|
||||
- horizontal and vertical split
|
||||
- double charset support (decode/encode)
|
||||
- FIFO pipe for remote control
|
||||
- 256 colors support
|
||||
- incremental text search
|
||||
- dynamic filtering of buffer content
|
||||
- Perl, Python, Ruby, Lua, Tcl, Scheme and PHP scripting
|
||||
- script manager
|
||||
- spell checking
|
||||
- highly customizable and extensible
|
||||
- and much more!
|
||||
.
|
||||
This package provides the headless client.
|
||||
|
||||
Package: weechat-devel-core
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Suggests: weechat-devel-doc (= ${source:Version})
|
||||
Conflicts: weechat-core
|
||||
Description: Fast, light and extensible chat client - core files
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides core plugins and locales files for WeeChat. It
|
||||
currently ships the following plugins: alias, buflist, charset, fset, irc,
|
||||
logger and xfer. It is useless without weechat-curses or weechat-headless.
|
||||
|
||||
Package: weechat-devel-plugins
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Recommends:
|
||||
weechat-devel-perl,
|
||||
weechat-devel-python,
|
||||
weechat-devel-ruby
|
||||
Suggests: weechat-scripts (>> 20090221-1)
|
||||
Conflicts: weechat-plugins
|
||||
Description: Fast, light and extensible chat client - plugins
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides some plugins to enhance WeeChat. It currently
|
||||
ships the following plugins:
|
||||
- script manager
|
||||
- Spell checking (thanks to aspell)
|
||||
- FIFO pipe for remote control
|
||||
- Relay (IRC proxy and WeeChat protocol)
|
||||
- Trigger
|
||||
- Typing
|
||||
|
||||
Package: weechat-devel-python
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-python
|
||||
Description: Fast, light and extensible chat client - Python 3 plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Python 3 scripting API plugin.
|
||||
|
||||
Package: weechat-devel-perl
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-perl
|
||||
Description: Fast, light and extensible chat client - Perl plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Perl scripting API plugin.
|
||||
|
||||
Package: weechat-devel-ruby
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-ruby
|
||||
Description: Fast, light and extensible chat client - Ruby plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Ruby scripting API plugin.
|
||||
|
||||
Package: weechat-devel-lua
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-lua
|
||||
Description: Fast, light and extensible chat client - Lua plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Lua scripting API plugin.
|
||||
|
||||
Package: weechat-devel-tcl
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-tcl
|
||||
Description: Fast, light and extensible chat client - Tcl plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Tcl scripting API plugin.
|
||||
|
||||
Package: weechat-devel-guile
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
|
||||
Conflicts: weechat-guile
|
||||
Description: Fast, light and extensible chat client - Guile plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the Guile scripting API plugin.
|
||||
|
||||
Package: weechat-devel-php
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version}),
|
||||
libphp-embed
|
||||
Conflicts: weechat-php
|
||||
Description: Fast, light and extensible chat client - PHP plugin
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package provides the PHP scripting API plugin.
|
||||
|
||||
Package: weechat-devel-doc
|
||||
Section: doc
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}
|
||||
Conflicts: weechat-doc
|
||||
Description: Fast, light and extensible chat client - documentation
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package contains the html documentation for WeeChat.
|
||||
|
||||
Package: weechat-devel-dev
|
||||
Section: devel
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}
|
||||
Conflicts: weechat-dev
|
||||
Description: Fast, light and extensible chat client - development headers
|
||||
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
|
||||
for many operating systems. Everything can be done with a keyboard.
|
||||
.
|
||||
This package contains the headers needed to build plugins.
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/copyright
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/gbp.conf
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
|
||||
|
||||
BUILDDIR = builddir
|
||||
|
||||
$(BUILDDIR)/Makefile:
|
||||
mkdir -p $(BUILDDIR)
|
||||
cd $(BUILDDIR) && \
|
||||
cmake .. \
|
||||
-DCMAKE_INSTALL_PREFIX:FILEPATH=/usr \
|
||||
-DLIBDIR=/usr/lib/${DEB_HOST_MULTIARCH} \
|
||||
-DENABLE_DOC:BOOL=ON \
|
||||
-DENABLE_MAN:BOOL=ON \
|
||||
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
|
||||
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="$(CFLAGS) -D_FORTIFY_SOURCE=2" \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING="$(LDFLAGS)" \
|
||||
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
|
||||
override_dh_auto_configure:
|
||||
# the package also has autotools buildsys and
|
||||
# debhelper try to use it but that's not needed
|
||||
echo
|
||||
|
||||
override_dh_auto_build: $(BUILDDIR)/Makefile
|
||||
dh_auto_build
|
||||
|
||||
override_dh_installchangelogs:
|
||||
dh_installchangelogs ChangeLog.adoc
|
||||
|
||||
%:
|
||||
dh $@ --builddirectory=$(BUILDDIR) --without autoreconf
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/watch
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-core.docs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-core.install
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.dirs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.install
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.links
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-curses.menu
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-dev.dirs
|
||||
@@ -1 +0,0 @@
|
||||
../debian-stable/weechat-dev.install
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-dev-en
|
||||
Title: WeeChat developer's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat internals and
|
||||
how to contribute to WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-dev-fr
|
||||
Title: WeeChat developer's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat internals and
|
||||
how to contribute to WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-dev-ja
|
||||
Title: WeeChat developer's guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat internals and
|
||||
how to contribute to WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_dev.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_dev.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-de
|
||||
Title: WeeChat FAQ (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-en
|
||||
Title: WeeChat FAQ (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-es
|
||||
Title: WeeChat FAQ (Spanish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Spanish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.es.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-fr
|
||||
Title: WeeChat FAQ (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-it
|
||||
Title: WeeChat FAQ (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-ja
|
||||
Title: WeeChat FAQ (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-faq-pl
|
||||
Title: WeeChat FAQ (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document answers frequently asked questions
|
||||
about the WeeChat IRC client (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_faq.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_faq.pl.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-en
|
||||
Title: WeeChat plugin API reference (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-fr
|
||||
Title: WeeChat plugin API reference (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-it
|
||||
Title: WeeChat plugin API reference (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-plugin-ja
|
||||
Title: WeeChat plugin API reference (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create plugins
|
||||
for WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_plugin_api.ja.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-de
|
||||
Title: WeeChat quick start guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.de.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-en
|
||||
Title: WeeChat quick start guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.en.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-es
|
||||
Title: WeeChat quick start guide (Spanish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Spanish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.es.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.es.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-fr
|
||||
Title: WeeChat quick start guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.fr.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-it
|
||||
Title: WeeChat quick start guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.it.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-ja
|
||||
Title: WeeChat quick start guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ja.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-pl
|
||||
Title: WeeChat quick start guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.pl.html
|
||||
@@ -1,9 +0,0 @@
|
||||
Document: weechat-quickstart-ru
|
||||
Title: WeeChat quick start guide (Russian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: A short HowTo for new WeeChat users (Russian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ru.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_quickstart.ru.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-en
|
||||
Title: WeeChat Relay protocol (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay Protocol, used by
|
||||
remote GUI to communicate with Relay plugin (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-fr
|
||||
Title: WeeChat Relay protocol (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay Protocol, used by
|
||||
remote GUI to communicate with Relay plugin (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-relay-protocol-ja
|
||||
Title: WeeChat Relay protocol (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes WeeChat Relay Protocol, used by
|
||||
remote GUI to communicate with Relay plugin (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_relay_protocol.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-de
|
||||
Title: WeeChat scripting guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-en
|
||||
Title: WeeChat scripting guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-fr
|
||||
Title: WeeChat scripting guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.fr.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-it
|
||||
Title: WeeChat scripting guide (Italian)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Italian version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.it.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.it.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-ja
|
||||
Title: WeeChat scripting guide (Japanese)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Japanese version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.ja.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.ja.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-scripting-pl
|
||||
Title: WeeChat scripting guide (Polish)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This document describes the API to create scripts
|
||||
for WeeChat (Polish version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.pl.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_scripting.pl.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-de
|
||||
Title: WeeChat user's guide (German)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (German version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.de.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.de.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-en
|
||||
Title: WeeChat user's guide (English)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (English version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.en.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.en.html
|
||||
@@ -1,10 +0,0 @@
|
||||
Document: weechat-user-fr
|
||||
Title: WeeChat user's guide (French)
|
||||
Author: Sébastien Helleu
|
||||
Abstract: This manual describes how to use the WeeChat
|
||||
IRC client (French version).
|
||||
Section: Network/Communication
|
||||
|
||||
Format: HTML
|
||||
Index: /usr/share/doc/weechat-devel-doc/html/weechat_user.fr.html
|
||||
Files: /usr/share/doc/weechat-devel-doc/html/weechat_user.fr.html
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user